Ejemplo n.º 1
0
                $_SESSION['lesson_rooms'][] = str_replace(' ', '_', $_SESSION["lessonid"]);
            }
            //$my_t=getdate();
            //$_SESSION["last_lesson_msg"] = $my_t[year].'-'.$my_t[mon].'-'.$my_t[mday].' '.$my_t[hours].':'.$my_t[minutes].':'.$my_t[seconds];
            $_SESSION['last_lesson_msg'] = date("Y-m-d H:i:s", time() - date("Z"));
            //Fix for timezone differences
        }
    } else {
        $link = str_replace('_', ' ', $_SESSION["lessonname"]);
        //$room = str_replace(' ','_',$_SESSION["lessonname"]);
        //$room = str_replace('"','',$room);
        //$room = str_replace('\'','',$room);
        echo '<p><a href="javascript:void(0)" title="' . $_SESSION["lessonname"] . '" onClick="javascript:chatWithLesson(\'' . $_SESSION["lessonid"] . '\', \'' . $_SESSION["lessonname"] . '\')">' . mb_substr($link, 0, 24) . ' (Room)</a></p>';
    }
}
$onlineUsers = getConnectedUsers();
if ($_SESSION['utype'] == 'administrator') {
    foreach ($onlineUsers as $user) {
        if ($user['login'] != $_SESSION['chatter']) {
            echo '<p><a href="javascript:void(0)" onClick="javascript:chatWith(\'' . $user['login'] . '\')">' . mb_substr($user['formattedLogin'], 0, 30) . '</a></p>';
        }
    }
} else {
    foreach ($onlineUsers as $user) {
        if ($user['login'] != $_SESSION['chatter']) {
            if ($_SESSION['commonality'][$user['login']] > 0) {
                echo '<p><a href="javascript:void(0)" onClick="javascript:chatWith(\'' . $user['login'] . '\')">' . mb_substr($user['formattedLogin'], 0, 30) . '</a></p>';
            }
        }
    }
}
Ejemplo n.º 2
0
                while ($rep = $req->fetch(PDO::FETCH_OBJ)) {
                    $msg .= htmlspecialchars_decode($rep->msg, ENT_QUOTES) . "\n";
                }
                $reqDel = $db->prepare("DELETE FROM ploucs_messages WHERE toId = :id");
                $reqDel->execute(array('id' => $clientID));
                if ($req->rowCount() == $reqDel->rowCount()) {
                    echo $msg;
                }
                //Delete the users who are disconnected by time-out.
                $req = $db->query("SELECT userId FROM ploucs_connected WHERE last_date < CURRENT_TIMESTAMP() - INTERVAL 30 SECOND");
                if ($req->rowCount() > 0) {
                    $query = $db->prepare("DELETE FROM ploucs_connected WHERE last_date < CURRENT_TIMESTAMP() - INTERVAL 30 SECOND");
                    $query->execute();
                    //If we are the one who was the first to delete the disconnected user (Case of someone else reached the SELECT before the right user reach the DELETE)
                    if ($req->rowCount() == $query->rowCount()) {
                        $users = getConnectedUsers();
                        while ($rep = $req->fetch(PDO::FETCH_OBJ)) {
                            foreach ($users as $u) {
                                sendCMDTo("dcn", $u, "dcn:" . $rep->userId);
                            }
                        }
                    }
                }
            } catch (PDOException $e) {
                echo $query . ": " . $e->getMessage();
            }
        }
    }
} else {
    echo "NO";
}