Ejemplo n.º 1
0
function inviteusers()
{
    global $chatrooms_language;
    global $close;
    global $embedcss;
    if (!empty($_REQUEST['invite'])) {
        foreach ($_REQUEST['invite'] as $user) {
            $response = sendMessage($user, "{$chatrooms_language[18]}<a href=\"javascript:jqcc.cometchat.joinChatroom('{$_POST['roomid']}','{$_POST['inviteid']}','{$_POST['roomname']}')\">{$chatrooms_language[19]}</a>", 1);
            $processedMessage = $_SESSION['cometchat']['user']['n'] . ": " . "has invited you to join " . $_SESSION['cometchat']['chatroom']['n'];
            parsePusher($user, $response['id'], $processedMessage);
        }
    }
    echo <<<EOD
<!DOCTYPE html>
<html>
\t<head>
\t\t<title>{$chatrooms_language[18]}</title>
\t\t<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
\t\t<link type="text/css" rel="stylesheet" media="all" href="../../css.php?type=module&name=chatrooms" />
\t</head>
\t<body onload="{$close}">
\t\t<div class="container">
\t\t\t<div class="container_title {$embedcss}">{$chatrooms_language[21]}</div>
\t\t\t<div class="container_body {$embedcss}">
\t\t\t\t{$chatrooms_language[16]}
\t\t\t\t<div style="clear:both"></div>
\t\t\t</div>
\t\t</div>
\t</body>
</html>
EOD;
}
        if (!empty($isImage) && $isImage || !empty($isVideo) && $isVideo) {
            $insertedId = sendChatroomMessage($_POST['to'], $filetransfer_language[9] . "<br/><a class=\"imagemessage\" href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" target=\"_blank\" imageheight=\"" . $height . "\" imagewidth=\"" . $width . "\">" . $imgtag . "</a>", 0);
        } else {
            $insertedId = sendChatroomMessage($_POST['to'], $filetransfer_language[9] . " (" . $filename . "). <a href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" target=\"_blank\">" . $filetransfer_language[6] . "</a>", 0);
        }
    } else {
        if (!empty($isImage) && $isImage || !empty($isVideo) && $isVideo) {
            $response = sendMessage($_POST['to'], $filetransfer_language[5] . "<br/><a href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" target=\"_blank\"><a class=\"imagemessage\" href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" onClick=\"javascript:jqcc('div.cometchat_other > a')[0].click();return false;\" target=\"none\" imageheight=\"" . $height . "\" imagewidth=\"" . $width . "\">" . $imgtag . "</a></a>", 1);
            $processedMessage = $_SESSION['cometchat']['user']['n'] . ": " . "has sent you a file";
            parsePusher($_POST['to'], $response['id'], $processedMessage);
            $array_response = sendMessage($_POST['to'], $filetransfer_language[7] . "<br/><a href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" target=\"_blank\"><a class=\"imagemessage\" href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" onClick=\"javascript:jqcc('div.cometchat_other > a')[0].click();return false;\" target=\"none\"  imageheight=\"" . $height . "\" imagewidth=\"" . $width . "\">" . $imgtag . "</a></a>", 2);
            $insertedId = $array_response['id'];
        } else {
            $response = sendMessage($_POST['to'], $filetransfer_language[5] . " (" . $filename . "). <a href=\"//" . $server_url . "plugins/filetransfer/download.php?file=" . $filename . "\" target=\"_blank\"><a href=\"" . BASE_URL . "plugins/filetransfer/download.php?file=" . $filename . "\" onClick=\"return false;\" target=\"none\" " . $filetransfer_language[6] . "</a></a>", 1);
            $processedMessage = $_SESSION['cometchat']['user']['n'] . ": " . "has sent you a file";
            parsePusher($_POST['to'], $response['id'], $processedMessage);
            $array_response = sendMessage($_POST['to'], $filetransfer_language[7] . " (" . $filename . ").", 2);
            $insertedId = $array_response['id'];
        }
        if (isset($_REQUEST['sendername']) && $pushNotifications == 1) {
            pushMobileNotification($filetransfer_language[9], $_REQUEST['sendername'], $_POST['to'], $_POST['to']);
        }
    }
    if (isset($_REQUEST['callbackfn']) && $_REQUEST['callbackfn'] == 'mobileapp') {
        echo $insertedId;
        exit;
    }
    $message = $filetransfer_language[8];
}
$embed = '';
$embedcss = '';
Ejemplo n.º 3
0
function sendChatroomMessage($to = 0, $message = '', $notsilent = 1)
{
    global $userid;
    global $cookiePrefix;
    global $bannedUserIDs;
    if ($to == 0 && empty($_POST['currentroom']) || $message == '' && $notsilent == 0 || isset($_POST['message']) && $_POST['message'] == '' || empty($userid) || in_array($userid, $bannedUserIDs)) {
        return;
    }
    if (isset($_POST['message']) && !empty($_POST['currentroom'])) {
        $to = mysqli_real_escape_string($GLOBALS['dbh'], $_POST['currentroom']);
        //$message = mysqli_real_escape_string($GLOBALS['dbh'],$_POST['message']);
        $message = $_POST['message'];
    }
    if (isset($message) && $message != '') {
        if (strpos($message, 'CC^CONTROL_') !== false) {
            $message = str_ireplace('CC^CONTROL_', '', $message);
            $message = sanitize($message);
            $controlparameters = json_decode($message, true);
            switch ($controlparameters['name']) {
                case 'avchat':
                    $grp = $controlparameters['params']['grp'];
                    switch ($controlparameters['method']) {
                        case 'endcall':
                            $message = 'CC^CONTROL_AVCHAT_END_CHATROOM_CALL' . $grp;
                            break;
                        case 'rejectcall':
                            $message = 'CC^CONTROL_AVCHAT_REJECT_CHATROOM_CALL' . $grp;
                            break;
                        case 'noanswer':
                            $message = 'CC^CONTROL_AVCHAT_NO_ANSWER_CHATROOM' . $grp;
                            break;
                        case 'canceloutgoingcall':
                            $message = 'CC^CONTROL_AVCHAT_CANCEL_CALL' . $grp;
                            break;
                        case 'busycall':
                            $message = 'CC^CONTROL_AVCHAT_BUSY_CALL' . $grp;
                            break;
                        default:
                            $message = '';
                            break;
                    }
                    break;
                case 'audiochat':
                    $grp = $controlparameters['params']['grp'];
                    switch ($controlparameters['method']) {
                        case 'endcall':
                            $message = 'CC^CONTROL_AUDIOCHAT_END_CHATROOM_CALL' . $grp;
                            break;
                        case 'rejectcall':
                            $message = 'CC^CONTROL_AUDIOCHAT_REJECT_CHATROOM_CALL' . $grp;
                            break;
                        case 'noanswer':
                            $message = 'CC^CONTROL_AUDIOCHAT_NO_ANSWER_CHATROOM' . $grp;
                            break;
                        case 'canceloutgoingcall':
                            $message = 'CC^CONTROL_AUDIOCHAT_CANCEL_CALL' . $grp;
                            break;
                        case 'busycall':
                            $message = 'CC^CONTROL_AUDIOCHAT_BUSY_CALL' . $grp;
                            break;
                        default:
                            $message = '';
                            break;
                    }
                    break;
                case 'broadcast':
                    $grp = $controlparameters['params']['grp'];
                    switch ($controlparameters['method']) {
                        case 'endcall':
                            $message = 'CC^CONTROL_BROADCAST_END_CHATROOM_CALL' . $grp;
                            break;
                        default:
                            $message = '';
                            break;
                    }
                    break;
                case 'chatroom':
                    $delid = $controlparameters['params']['id'];
                    switch ($controlparameters['method']) {
                        case 'deletemessage':
                            $message = 'CC^CONTROL_deletemessage_' . $delid;
                            break;
                        case 'kicked':
                            $message = 'CC^CONTROL_kicked_' . $delid;
                            break;
                        case 'banned':
                            $message = 'CC^CONTROL_banned_' . $delid;
                            break;
                        default:
                            $message = '';
                            break;
                    }
                    break;
                default:
                    break;
            }
        }
    }
    if ($notsilent !== 0) {
        $message = str_ireplace('CC^CONTROL_', '', $message);
        $message = sanitize($message);
    }
    $styleStart = '';
    $styleEnd = '';
    if (!empty($_COOKIE[$cookiePrefix . 'chatroomcolor']) && preg_match('/^[a-f0-9]{6}$/i', $_COOKIE[$cookiePrefix . 'chatroomcolor']) && $notsilent == 1) {
        $styleStart = '<span style="color:#' . mysqli_real_escape_string($GLOBALS['dbh'], $_COOKIE[$cookiePrefix . 'chatroomcolor']) . '">';
        $styleEnd = '</span>';
    }
    if (USE_COMET == 1 && COMET_CHATROOMS == 1) {
        $comet = new Comet(KEY_A, KEY_B);
        if (empty($_SESSION['cometchat']['username'])) {
            $name = '';
            $sql = getUserDetails($userid);
            if ($userid > 10000000) {
                $sql = getGuestDetails($userid);
            }
            $result = mysqli_query($GLOBALS['dbh'], $sql);
            if ($row = mysqli_fetch_assoc($result)) {
                if (function_exists('processName')) {
                    $row['username'] = processName($row['username']);
                }
                $name = $row['username'];
            }
            $_SESSION['cometchat']['username'] = $name;
        } else {
            $name = $_SESSION['cometchat']['username'];
        }
        if (!empty($name)) {
            $sql = "insert into cometchat_chatroommessages (userid,chatroomid,message,sent) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $styleStart) . mysqli_real_escape_string($GLOBALS['dbh'], $message) . mysqli_real_escape_string($GLOBALS['dbh'], $styleEnd) . "','" . getTimeStamp() . "')";
            $query = mysqli_query($GLOBALS['dbh'], $sql);
            $insertedid = mysqli_insert_id($GLOBALS['dbh']);
            if (defined('DEV_MODE') && DEV_MODE == '1') {
                echo mysqli_error($GLOBALS['dbh']);
            }
            $timestamp = getTimeStamp();
            $info = $comet->publish(array('channel' => md5('chatroom_' . $to . KEY_A . KEY_B . KEY_C), 'message' => array("id" => $insertedid, "from" => $name, "fromid" => $userid, "message" => $styleStart . $message . $styleEnd, "sent" => getTimeStamp())));
            if ($notsilent == 1) {
                sendCCResponse(json_encode(array("id" => $insertedid, "m" => $styleStart . $message . $styleEnd)));
            }
        }
    } else {
        $sql = "insert into cometchat_chatroommessages (userid,chatroomid,message,sent) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $styleStart) . mysqli_real_escape_string($GLOBALS['dbh'], $message) . mysqli_real_escape_string($GLOBALS['dbh'], $styleEnd) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "')";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        $insertedid = mysqli_insert_id($GLOBALS['dbh']);
        if (defined('DEV_MODE') && DEV_MODE == '1') {
            echo mysqli_error($GLOBALS['dbh']);
        }
        if ($notsilent == 1) {
            sendCCResponse(json_encode(array("id" => $insertedid, "m" => $styleStart . $message . $styleEnd)));
        }
    }
    parsePusher($to, $insertedid, $message, '1');
    $sql = "update cometchat_chatrooms set lastactivity = '" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "' where id = '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "'";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if ($notsilent == 0) {
        return $insertedid;
    }
}
Ejemplo n.º 4
0
         $response = $response['id'];
     }
     if (!empty($_GET['callback'])) {
         header('content-type: application/json; charset=utf-8');
         sendCCResponse($_GET['callback'] . '(' . json_encode($response) . ')');
     } else {
         sendCCResponse(json_encode($response));
     }
     if (empty($_REQUEST['broadcast'])) {
         parsePusher($to, $response['id'], $_SESSION['cometchat']['user']['n'] . ": " . $response['m']);
     } else {
         if (USE_COMET == '1') {
             publishCometMessages($broadcast, $response[0]['id']);
         }
         foreach ($response as $rkey => $rvalue) {
             parsePusher($rvalue['from'], $rvalue['id'], $_SESSION['cometchat']['user']['n'] . ": " . $rvalue['m']);
         }
     }
 } else {
     if (empty($_REQUEST['broadcast'])) {
         $sql = "insert into cometchat (cometchat.from,cometchat.to,cometchat.message,cometchat.sent,cometchat.read,cometchat.direction) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize($bannedMessage)) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "',0,2)";
         $query = mysqli_query($GLOBALS['dbh'], $sql);
         if (defined('DEV_MODE') && DEV_MODE == '1') {
             echo mysqli_error($GLOBALS['dbh']);
         }
         if (!empty($_GET['callback'])) {
             header('content-type: application/json; charset=utf-8');
             echo $_GET['callback'] . '()';
         }
     }
 }
Ejemplo n.º 5
0
function sendbroadcast()
{
    global $userid;
    global $bannedUserIDs;
    global $bannedUserIPs;
    $message = $_REQUEST['message'];
    $broadcast_toids = explode(",", $_REQUEST['to']);
    $message = sanitize($_REQUEST['message']);
    $broadcast = array();
    if (!in_array($userid, $bannedUserIDs) && !in_array($_SERVER['REMOTE_ADDR'], $bannedUserIPs)) {
        for ($i = 0; $i < sizeof($broadcast_toids); $i++) {
            $tempMsg = array('to' => $broadcast_toids[$i], 'message' => $message, 'dir' => 0);
            array_push($broadcast, $tempMsg);
        }
        $_REQUEST['broadcast'] = 1;
        $response = broadcastMessage($broadcast, $broadcast_toids);
        if (isset($_GET['callback'])) {
            header('content-type: application/json; charset=utf-8');
            sendCCResponse($_GET['callback'] . '(' . json_encode($response) . ')');
        } else {
            sendCCResponse(json_encode($response));
        }
        publishCometMessages($broadcast);
        foreach ($response as $rkey => $rvalue) {
            parsePusher($to, $rvalue['id'], $_SESSION['cometchat']['user']['n'] . ": " . $rvalue['m']);
        }
    }
}
function sendChatroomMessage($to = 0, $message = '', $notsilent = 1)
{
    global $userid;
    global $cookiePrefix;
    global $bannedUserIDs;
    if ($to == 0 && empty($_POST['currentroom']) || $message == '' && $notsilent == 0 || isset($_POST['message']) && $_POST['message'] == '' || empty($userid) || in_array($userid, $bannedUserIDs)) {
        return;
    }
    if (isset($_POST['message']) && !empty($_POST['currentroom'])) {
        $to = $_POST['currentroom'];
        $message = $_POST['message'];
    }
    if ($notsilent !== 0) {
        $message = str_ireplace('CC^CONTROL_', '', $message);
        $message = sanitize($message);
    }
    $styleStart = '';
    $styleEnd = '';
    if (!empty($_COOKIE[$cookiePrefix . 'chatroomcolor']) && preg_match('/^[a-f0-9]{6}$/i', $_COOKIE[$cookiePrefix . 'chatroomcolor']) && $notsilent == 1) {
        $styleStart = '<span style="color:#' . $_COOKIE[$cookiePrefix . 'chatroomcolor'] . '">';
        $styleEnd = '</span>';
    }
    if (USE_COMET == 1 && COMET_CHATROOMS == 1) {
        $insertedid = getTimeStamp() . rand(100, 999);
        if ($notsilent == 1) {
            sendCCResponse(json_encode(array("id" => $insertedid, "m" => $styleStart . $message . $styleEnd)));
        }
        $comet = new Comet(KEY_A, KEY_B);
        if (empty($_SESSION['cometchat']['username'])) {
            $name = '';
            $sql = getUserDetails($userid);
            if ($userid > 10000000) {
                $sql = getGuestDetails($userid);
            }
            $result = mysqli_query($GLOBALS['dbh'], $sql);
            if ($row = mysqli_fetch_assoc($result)) {
                if (function_exists('processName')) {
                    $row['username'] = processName($row['username']);
                }
                $name = $row['username'];
            }
            $_SESSION['cometchat']['username'] = $name;
        } else {
            $name = $_SESSION['cometchat']['username'];
        }
        if (!empty($name)) {
            $info = $comet->publish(array('channel' => md5('chatroom_' . $to . KEY_A . KEY_B . KEY_C), 'message' => array("from" => $name, "fromid" => $userid, "message" => $styleStart . $message . $styleEnd, "sent" => $insertedid)));
            if (defined('SAVE_LOGS') && SAVE_LOGS == 1) {
                $sql = "insert into cometchat_chatroommessages (userid,chatroomid,message,sent) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . $styleStart . mysqli_real_escape_string($GLOBALS['dbh'], $message) . $styleEnd . "','" . getTimeStamp() . "')";
                $query = mysqli_query($GLOBALS['dbh'], $sql);
            }
        }
    } else {
        $sql = "insert into cometchat_chatroommessages (userid,chatroomid,message,sent) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . $styleStart . mysqli_real_escape_string($GLOBALS['dbh'], $message) . $styleEnd . "','" . getTimeStamp() . "')";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        $insertedid = mysqli_insert_id($GLOBALS['dbh']);
        if ($notsilent == 1) {
            sendCCResponse(json_encode(array("id" => $insertedid, "m" => $styleStart . $message . $styleEnd)));
        }
        if (defined('DEV_MODE') && DEV_MODE == '1') {
            echo mysqli_error($GLOBALS['dbh']);
        }
    }
    parsePusher($to, $insertedid, $message, '1');
    $sql = "update cometchat_chatrooms set lastactivity = '" . getTimeStamp() . "' where id = '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "'";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if ($notsilent != 0) {
        return $insertedid;
    }
}
         }
         if (in_array($to, $blockedUsers)) {
             exit;
         }
     }
     $response = sendMessage($to, $message, 0);
     if (isset($_REQUEST['callbackfn']) && $_REQUEST['callbackfn'] == 'mobileapp' && empty($_REQUEST['v2'])) {
         $response = $response['id'];
     }
     if (isset($_GET['callback'])) {
         header('content-type: application/json; charset=utf-8');
         sendCCResponse($_GET['callback'] . '(' . json_encode($response) . ')');
     } else {
         sendCCResponse(json_encode($response));
     }
     parsePusher($to, $response['id'], $_SESSION['cometchat']['user']['n'] . ": " . $response['m']);
     include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "extensions" . DIRECTORY_SEPARATOR . "mobileapp" . DIRECTORY_SEPARATOR . "parse_push.php";
     if (empty($_SESSION['cometchat']['cometchat_user_' . $to])) {
         $_SESSION['cometchat']['cometchat_user_' . $to] = array();
     }
     $_SESSION['cometchat']['cometchat_user_' . $to][$chromeReorderFix . $response['id']] = array("id" => $response['id'], "from" => $to, "message" => $response['m'], "self" => 1, "old" => 1, 'sent' => getTimeStamp());
 } else {
     $sql = "insert into cometchat (cometchat.from,cometchat.to,cometchat.message,cometchat.sent,cometchat.read,cometchat.direction) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], $to) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize($bannedMessage)) . "','" . getTimeStamp() . "',0,2)";
     $query = mysqli_query($GLOBALS['dbh'], $sql);
     if (defined('DEV_MODE') && DEV_MODE == '1') {
         echo mysqli_error($GLOBALS['dbh']);
     }
     if (isset($_GET['callback'])) {
         header('content-type: application/json; charset=utf-8');
         echo $_GET['callback'] . '()';
     }