forked from science-ation/science-ation
Removed Chat
This commit is contained in:
parent
e4995bbc3d
commit
6af995ce3c
@ -25,7 +25,7 @@
|
|||||||
require_once("../common.inc.php");
|
require_once("../common.inc.php");
|
||||||
require_once("../user.inc.php");
|
require_once("../user.inc.php");
|
||||||
require_once("../committee.inc.php");
|
require_once("../committee.inc.php");
|
||||||
require_once("../chat.inc.php");
|
|
||||||
|
|
||||||
user_auth_required('committee','admin');
|
user_auth_required('committee','admin');
|
||||||
|
|
||||||
@ -33,7 +33,7 @@
|
|||||||
array('Committee Main' => 'committee_main.php'),
|
array('Committee Main' => 'committee_main.php'),
|
||||||
"administration");
|
"administration");
|
||||||
|
|
||||||
draw_chatbox('general');
|
|
||||||
|
|
||||||
echo "<table class=\"adminconfigtable\">";
|
echo "<table class=\"adminconfigtable\">";
|
||||||
echo " <tr>";
|
echo " <tr>";
|
||||||
|
@ -36,12 +36,16 @@ $auth_type = user_auth_required(array('fair','committee'), 'admin');
|
|||||||
if($_GET['year']) $year=$_GET['year'];
|
if($_GET['year']) $year=$_GET['year'];
|
||||||
else $year=$config['FAIRYEAR'];
|
else $year=$config['FAIRYEAR'];
|
||||||
|
|
||||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
$q = $pdo->prepare("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
||||||
while($r=mysql_fetch_object($q))
|
$q->execute();
|
||||||
|
|
||||||
|
while($r=$q->fetch(PDO::FETCH_OBJ))
|
||||||
$cats[$r->id]=$r->category;
|
$cats[$r->id]=$r->category;
|
||||||
|
|
||||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
$q = $pdo->prepare("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
||||||
while($r=mysql_fetch_object($q))
|
$q->execute();
|
||||||
|
|
||||||
|
while($q->fetch(PDO::FETCH_OBJ))
|
||||||
$divs[$r->id]=$r->division;
|
$divs[$r->id]=$r->division;
|
||||||
|
|
||||||
$action=$_GET['action'];
|
$action=$_GET['action'];
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
require_once('common.inc.php');
|
|
||||||
//authent_required();
|
|
||||||
if(array_key_exists('collapsed', $_POST)){
|
|
||||||
$_SESSION['chat_collapsed'] = $_POST['collapsed'];
|
|
||||||
}
|
|
||||||
if(!array_key_exists('subject', $_POST) || !array_key_exists('action', $_POST)){
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
$params = array();
|
|
||||||
$params[] = 'since=' . (array_key_exists('since', $_POST) ? intval($_POST['since']) : 0);
|
|
||||||
$params[] = 'subject=' . urlencode($_POST['subject']);
|
|
||||||
if(array_key_exists('message', $_POST)){
|
|
||||||
$message = htmlspecialchars($_POST['message']);
|
|
||||||
$params[] = 'message=' . urlencode($message);
|
|
||||||
}
|
|
||||||
$params[] = 'user=' . urlencode($_SESSION['name']);
|
|
||||||
$params[] = 'fairname=' . urlencode($config['fairname']);
|
|
||||||
|
|
||||||
$ch = curl_init();
|
|
||||||
curl_setopt ($ch, CURLOPT_URL, 'http://sfiab.ca/messageExchange.php');
|
|
||||||
curl_setopt ($ch, CURLOPT_POST, 1);
|
|
||||||
curl_setopt ($ch, CURLOPT_POSTFIELDS, implode('&', $params));
|
|
||||||
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
||||||
$result = curl_exec ($ch);
|
|
||||||
echo $result;
|
|
270
chat.inc.php
270
chat.inc.php
@ -1,270 +0,0 @@
|
|||||||
<?
|
|
||||||
/*
|
|
||||||
This file is part of the 'Science Fair In A Box' project
|
|
||||||
SFIAB Website: http://www.sfiab.ca
|
|
||||||
|
|
||||||
Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
|
||||||
Copyright (C) 2005-2008 James Grant <james@lightbox.org>
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public
|
|
||||||
License as published by the Free Software Foundation, version 2.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; see the file COPYING. If not, write to
|
|
||||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
function draw_chatbox($subject){
|
|
||||||
global $config;
|
|
||||||
$chatCollapsed = $_SESSION['chat_collapsed'] ? 1 : 0;
|
|
||||||
?>
|
|
||||||
<style type="text/css">
|
|
||||||
#chatbox_wrapper{
|
|
||||||
border: 3px solid;
|
|
||||||
border-color: #EEEEFF #5C6F90 #5C6F90 #EEEEFF;
|
|
||||||
border-radius: 8px;
|
|
||||||
display:inline-block;
|
|
||||||
width: <?=($chatCollapsed ? '0px' : '30em')?>;
|
|
||||||
height: 38em;
|
|
||||||
float:right;
|
|
||||||
margin: 1em;
|
|
||||||
padding: 1.25em;
|
|
||||||
background-color: #E0E0FF;
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
#chatbox_dialogue{
|
|
||||||
width:100%;
|
|
||||||
height: 30em;
|
|
||||||
top: 0.5em;
|
|
||||||
overflow:auto;
|
|
||||||
border: 3px solid;
|
|
||||||
border-color: #5C6F90 #EEEEFF #EEEEFF #5C6F90;
|
|
||||||
background-color: #FFF;
|
|
||||||
border-radius: 3px;
|
|
||||||
<?php
|
|
||||||
if($chatCollapsed) echo "display: none;\n";
|
|
||||||
?>
|
|
||||||
}
|
|
||||||
#chatbox_separator{
|
|
||||||
border-top:1px solid white;
|
|
||||||
height: 1.5em;
|
|
||||||
}
|
|
||||||
#chatbox_input{
|
|
||||||
width: 100%;
|
|
||||||
background-color: #FFF;
|
|
||||||
height: 3em;
|
|
||||||
border: 3px solid;
|
|
||||||
border-radius: 3px;
|
|
||||||
border-color: #5C6F90 #EEEEFF #EEEEFF #5C6F90;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#chatbox_submit{
|
|
||||||
margin: 0;
|
|
||||||
margin-top: 0.5em;
|
|
||||||
width: 100%;
|
|
||||||
border-radius: 3px;
|
|
||||||
background-color: #CECEDF;
|
|
||||||
border-color: #E8E8EE #5C6F90 #5C6F90 #E8E8EE;
|
|
||||||
font-size: 18px;
|
|
||||||
height: 1.5em;
|
|
||||||
line-height: 1em;
|
|
||||||
font-weight: normal;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
div.chatbox_messageHeader{
|
|
||||||
margin-top: 1em;
|
|
||||||
border-top: 1px solid #668;
|
|
||||||
border-bottom: 1px solid #224;
|
|
||||||
background-color: #557;
|
|
||||||
color: #FFF;
|
|
||||||
}
|
|
||||||
#chatbox_collapsebutton{
|
|
||||||
position: absolute;
|
|
||||||
left: 0;/*32em;*/
|
|
||||||
top: 0;/*16em;*/
|
|
||||||
width: 1.2em;
|
|
||||||
height: 1.2em;
|
|
||||||
line-height: 1.2em;
|
|
||||||
text-align:center;
|
|
||||||
cursor:pointer;
|
|
||||||
/* border-radius: 0.5em;
|
|
||||||
background-color: #CECEDF;
|
|
||||||
border: 2px solid;
|
|
||||||
border-color: #EEEEFF #5C6F90 #5C6F90 #EEEEFF;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script type="text/javascript">
|
|
||||||
var lastMessageIndex = {};
|
|
||||||
var ajaxLock = false;
|
|
||||||
var refreshRate = 30000;
|
|
||||||
var viewCollapsed = <?=$chatCollapsed;?>;
|
|
||||||
$(document).ready(function(){
|
|
||||||
loadChat('<?=$subject;?>', function(){
|
|
||||||
setTimeout(function(){refreshChat('<?=$subject;?>');}, refreshRate);
|
|
||||||
if(!viewCollapsed){
|
|
||||||
$('#chatbox_input').css('display', 'block');
|
|
||||||
$('#chatbox_submit').css('display', 'block');
|
|
||||||
}
|
|
||||||
$('#chatbox_input').focus(function(event){
|
|
||||||
$('#chatbox_input').val('');
|
|
||||||
$('#chatbox_input').unbind(event)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
function doSubmit(){
|
|
||||||
postMessage('<?=$subject;?>', $('#chatbox_input').val());
|
|
||||||
$('#chatbox_input').val('');
|
|
||||||
}
|
|
||||||
function loadChat(subject, callback){
|
|
||||||
ajaxLock = true;
|
|
||||||
if(callback == undefined) callback = function(){};
|
|
||||||
if(lastMessageIndex[subject] == undefined) lastMessageIndex[subject] = 0;
|
|
||||||
$.post(
|
|
||||||
'<?=$config['SFIABDIRECTORY']?>/chat.ajax.php',
|
|
||||||
{'action':'fetch', 'subject':subject, 'since':lastMessageIndex[subject]},
|
|
||||||
function(result){
|
|
||||||
ajaxLock = false;
|
|
||||||
handleReply(subject, result);
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshChat(subject){
|
|
||||||
if(ajaxLock == false){
|
|
||||||
ajaxLock = true;
|
|
||||||
$.post(
|
|
||||||
'<?=$config['SFIABDIRECTORY']?>/chat.ajax.php',
|
|
||||||
{'action':'fetch', 'subject':subject, 'since':lastMessageIndex[subject]},
|
|
||||||
function(result){
|
|
||||||
ajaxLock = false;
|
|
||||||
handleReply(subject, result);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
setTimeout(function(){refreshChat(subject);}, refreshRate);
|
|
||||||
}else{
|
|
||||||
setTimeout(function(){refreshChat(subject);}, refreshRate);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function postMessage(subject, message){
|
|
||||||
if(ajaxLock == false){
|
|
||||||
ajaxLock = true;
|
|
||||||
message = $.trim(message);
|
|
||||||
if(message.length > 0){
|
|
||||||
$.post(
|
|
||||||
'<?=$config['SFIABDIRECTORY']?>/chat.ajax.php',
|
|
||||||
{'action':'fetch', 'subject':subject, 'message':message, 'since':lastMessageIndex[subject]},
|
|
||||||
function(result){
|
|
||||||
ajaxLock = false;
|
|
||||||
handleReply(subject, result);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
setTimeout(function(){postMessage(subject, message);}, 200 + 400 * Math.random());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function textMessage(time, speaker, fairname, text){
|
|
||||||
var line = $('<div></div>');
|
|
||||||
var header = $('<div class="chatbox_messageHeader"></div>');
|
|
||||||
if(fairname != null) header.append(fairname + "<br/>");
|
|
||||||
header.append('<strong>' + speaker + '</strong>');
|
|
||||||
if(time) header.append('<span style="float:right">' + time + '</span>');
|
|
||||||
line.html(text);
|
|
||||||
$('#chatbox_dialogue').append(header);
|
|
||||||
$('#chatbox_dialogue').append(line);
|
|
||||||
$('#chatbox_dialogue').animate({ scrollTop: $('#chatbox_dialogue').attr("scrollHeight") - $('#chatbox_dialogue').height() }, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function errorMessage(text){
|
|
||||||
var line = $('<div class="error"></div>');
|
|
||||||
line.html('<strong>' + text + '</strong>');
|
|
||||||
$('#chatbox_dialogue').append(line);
|
|
||||||
$('#chatbox_dialogue').animate({ scrollTop: $('#chatbox_dialogue').attr("scrollHeight") - $('#chatbox_dialogue').height() }, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function systemMessage(text){
|
|
||||||
var line = $('<div></div>');
|
|
||||||
line.html('<strong>' + text + '</strong>');
|
|
||||||
$('#chatbox_dialogue').append(line);
|
|
||||||
$('#chatbox_dialogue').animate({ scrollTop: $('#chatbox_dialogue').attr("scrollHeight") - $('#chatbox_dialogue').height() }, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleReply(subject, response){
|
|
||||||
var data;
|
|
||||||
eval('data = ' + response);
|
|
||||||
if(data.info.length > 0){
|
|
||||||
for(n in data.info){
|
|
||||||
systemMessage(data.info[n].text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(data.error.length > 0){
|
|
||||||
for(n in data.error){
|
|
||||||
errorMessage(data.error[n]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(data.message.length > 0){
|
|
||||||
for(n in data.message){
|
|
||||||
textMessage(
|
|
||||||
data.message[n].time,
|
|
||||||
data.message[n].speaker,
|
|
||||||
data.message[n].fairname,
|
|
||||||
data.message[n].text
|
|
||||||
);
|
|
||||||
lastMessageIndex[subject] = data.message[n].index;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleView(){
|
|
||||||
var newWidth, callback;
|
|
||||||
if(viewCollapsed){
|
|
||||||
newWidth = '30em';
|
|
||||||
viewCollapsed = false;
|
|
||||||
$('#chatbox_input').css('display', 'block');
|
|
||||||
$('#chatbox_submit').css('display', 'block');
|
|
||||||
$('#chatbox_dialogue').css('display', 'block');
|
|
||||||
$('#chatbox_collapsebutton').html('»');
|
|
||||||
callback = function(){
|
|
||||||
$('#chatbox_dialogue').animate({ scrollTop: $('#chatbox_dialogue').attr("scrollHeight") - $('#chatbox_dialogue').height() }, 0);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
newWidth = '0px';
|
|
||||||
viewCollapsed = true;
|
|
||||||
callback = function(){
|
|
||||||
$('#chatbox_input').css('display', 'none');
|
|
||||||
$('#chatbox_submit').css('display', 'none');
|
|
||||||
$('#chatbox_dialogue').css('display', 'none');
|
|
||||||
$('#chatbox_collapsebutton').html('«');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$.post('<?=$config['SFIABDIRECTORY']?>/chat.ajax.php',{'collapsed':viewCollapsed ? '1' : '0'});
|
|
||||||
$('#chatbox_wrapper').animate({'width':newWidth}, 500, callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<div id="chatbox_wrapper">
|
|
||||||
<div id="chatbox_dialogue"></div>
|
|
||||||
<div id="chatbox_separator"></div>
|
|
||||||
<textarea id="chatbox_input">Type your message here...</textarea>
|
|
||||||
<button id="chatbox_submit" type="submit" onclick="doSubmit(); return false;">send</button>
|
|
||||||
<div id="chatbox_collapsebutton" onclick="toggleView();"><?php
|
|
||||||
if($chatCollapsed) echo "«\n";
|
|
||||||
else echo "»";
|
|
||||||
?></div>
|
|
||||||
</div>
|
|
||||||
<pre>
|
|
||||||
</pre>
|
|
||||||
<?php
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user