$chat_sid = required_param('chat_sid', PARAM_ALPHANUM);
-
if (!$chatuser = get_record('chat_users', 'sid', $chat_sid)) {
error('Not logged in!');
}
chat_force_language($chatuser->lang);
-
ob_start();
?>
<script type="text/javascript">
<!--
scroll_active = true;
function empty_field_and_submit() {
- document.fdummy.chat_message.value=document.f.chat_message.value;
- document.fdummy.submit();
- document.f.chat_message.value='';
- document.f.chat_message.focus();
+ document.sendForm.chat_message.value = document.inputForm.chat_message.value;
+ document.inputForm.chat_message.value = '';
+ document.sendForm.submit();
+ document.inputForm.chat_message.focus();
return false;
}
// -->
<?php
$meta = ob_get_clean();
- print_header('', '', '', 'f.chat_message', $meta, false);
+ print_header('', '', '', 'inputForm.chat_message', $meta, false);
?>
- <form action="insert.php" method="GET" target="empty" name="f"
+ <form action="../empty.php" method="GET" target="empty" name="inputForm"
OnSubmit="return empty_field_and_submit()">
>><input type="text" name="chat_message" size="60" value="" />
<?php helpbutton('chatting', get_string('helpchatting', 'chat'), 'chat', true, false); ?>
</form>
- <form action="insert.php" method="GET" target="empty" name="fdummy"
- OnSubmit="return empty_field_and_submit()">
+ <form action="insert.php" method="GET" target="empty" name="sendForm">
<input type="hidden" name="chat_sid" value="<?php echo $chat_sid ?>" />
<input type="hidden" name="chat_message" />
</form>
</body>
-</html>
\ No newline at end of file
+</html>
$groupname = '';
}
- if (!$chat_sid = chat_login_user($chat->id, 'header_js', $groupid, $course)) {
+ if (!$chat_sid = chat_login_user($chat->id, 'header_js', $groupid, $course, true)) {
error('Could not log in to chat room!!');
}
echo '<script type="text/javascript">parent.jsupdate.location.href = parent.jsupdate.document.anchors[0].href;</script>';
}
- //redirect('empty.php');
+ redirect('../empty.php');
?>
update_record('chat_users', $chatuser);
if ($refreshusers) {
- echo "parent.users.location.href = parent.users.document.anchors[0].href;\n";
+ echo "if (parent.users.document.anchors[0] != null) {" .
+ "parent.users.location.href = parent.users.document.anchors[0].href;}\n";
} else {
foreach($us as $uid=>$lastping) {
$min = (int) ($lastping/60);
$min = $min < 10 ? '0'.$min : $min;
$sec = $sec < 10 ? '0'.$sec : $sec;
$idle = $min.':'.$sec;
- echo "parent.users.document.getElementById('uidle{$uid}').innerHTML = '$idle';";
+ echo "if (parent.users.document.getElementById('uidle{$uid}') != null) {".
+ "parent.users.document.getElementById('uidle{$uid}').innerHTML = '$idle';}\n";
}
}
?>
echo '<embed src="../beep.wav" autostart="true" hidden="true" name="beep" />';
}
?>
- <a href="<? echo $refreshurl ?>" name="refreshlink">Refresh link</a>
+ <a href="<? echo $refreshurl ?>" name="refreshLink">Refresh link</a>
</body>
</html>
function update() {
for(i=0; i<uidles.length; i++) {
el = document.getElementById(uidles[i]);
- parts = el.innerHTML.split(":");
- time = f + (parseInt(parts[0], 10)*60) + parseInt(parts[1], 10);
- min = Math.floor(time/60);
- sec = time % 60;
- el.innerHTML = ((min < 10) ? "0" : "") + min + ":" + ((sec < 10) ? "0" : "") + sec;
+ if (el != null) {
+ parts = el.innerHTML.split(":");
+ time = f + (parseInt(parts[0], 10)*60) + parseInt(parts[1], 10);
+ min = Math.floor(time/60);
+ sec = time % 60;
+ el.innerHTML = ((min < 10) ? "0" : "") + min + ":" + ((sec < 10) ? "0" : "") + sec;
+ }
}
timer = setTimeout("update()", f*1000);
}
$strbeep = get_string('beep', 'chat');
- echo '<div style="display: none"><a href="'.$refreshurl.'" name="refreshlink">Refresh link</a></div>';
+ echo '<div style="display: none"><a href="'.$refreshurl.'" name="refreshLink">Refresh link</a></div>';
echo '<table width="100%">';
foreach ($chatusers as $chatuser) {
$lastping = $timenow - $chatuser->lastmessageping;
//////////////////////////////////////////////////////////////////////
// login if not already logged in
-function chat_login_user($chatid, $version, $groupid, $course) {
+function chat_login_user($chatid, $version, $groupid, $course, $sendentermsg=false) {
global $USER;
-
- if ($chatuser = get_record_select('chat_users', "chatid='$chatid' AND userid='$USER->id' AND groupid='$groupid' LIMIT 1")) {
+ if ($chatuser = get_record_select('chat_users', "chatid='$chatid' AND userid='$USER->id' AND groupid='$groupid'")) {
$chatuser->version = $version;
$chatuser->ip = $USER->lastIP;
$chatuser->lastping = time();
if (!update_record('chat_users', $chatuser)) {
return false;
}
-
} else {
$chatuser->chatid = $chatid;
$chatuser->userid = $USER->id;
$chatuser->ip = $USER->lastIP;
$chatuser->lastping = $chatuser->firstping = $chatuser->lastmessageping = time();
$chatuser->sid = random_string(32);
- $chatuser->course = $course->id; //caching only, but needed for current_language() to work properly!
- $chatuser->lang = current_language();
+ $chatuser->course = $course->id; //caching - needed for current_language too
+ $chatuser->lang = current_language(); //caching - to resource intensive to find out later
if (!insert_record('chat_users', $chatuser)) {
return false;
}
- if ($version == 'header_js') {
+ if ($sendentermsg) {
$message->chatid = $chatuser->chatid;
$message->userid = $chatuser->userid;
$message->groupid = $groupid;