summaryrefslogtreecommitdiffstats
path: root/ajax
diff options
context:
space:
mode:
Diffstat (limited to 'ajax')
-rw-r--r--ajax/match.ajax.php226
1 files changed, 226 insertions, 0 deletions
diff --git a/ajax/match.ajax.php b/ajax/match.ajax.php
new file mode 100644
index 0000000..7568115
--- /dev/null
+++ b/ajax/match.ajax.php
@@ -0,0 +1,226 @@
+<?
+session_start();
+//For testing purposes send a fake 404.
+// if (rand(1,3) == 2) {
+ // header("HTTP/1.0 404 Not Found");
+ // exit;
+// }
+
+header_remove();
+
+
+// Client sends isReady
+
+ // Return true
+
+
+// Client sends StartGame
+
+ // Can he start the game?
+
+ // Generate map
+
+ // Set map expires
+
+ // Return true
+
+
+
+// Client sends updateRequest
+
+ //Return data on match
+ $r['gameStarted'] = true;
+ $r['gameStarted'] = true;
+ $r['secondsTillGameStarts'] = 8.6342;
+ $r['mapID'] = 534;
+ $r['mapID'] = false;
+ $r['players'][0]['username'] = 'Bob!';
+ $r['players'][0]['isCreator'] = true;
+
+ echo json_encode($r);
+ exit;
+
+
+
+exit;
+//The below is just temporary reference material.
+
+//////////////////////////////////////////////////////////////////////////
+
+//ini_set('display_errors',1);
+//ini_set('display_startup_errors',1);
+//error_reporting(-1);
+
+if (isset($_REQUEST['pollChannelList'])) {
+ require_once('../includes/chats.php');
+ echo json_encode(getChannelList());
+ exit;
+}
+
+if (isset($_SESSION['chatLastReset'])) $chatLastReset = $_SESSION['chatLastReset'];
+else $chatLastReset = 0;
+
+if (strtotime('now') - $chatLastReset > 6) {
+ $_SESSION['chatSendCount'] = 0;
+ $_SESSION['chatLastReset'] = strtotime('now');
+}
+
+//T:
+if (rand(1,4) == 2 || true) {
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['isJoinLeave'] = 'true';
+ $r[0]['message'] = "Server Test";
+ $r[0]['secondsSince'] = 0;
+ $r[0]['displayName'] = 'SERVER';
+ $r[0]['userID'] = null;
+ //echo json_encode($r);
+ //exit;
+}
+
+
+if (isset($_REQUEST['messages'])) {
+ $_SESSION['chatSendCount']++;
+ if ($_SESSION['chatSendCount'] > 4) {
+ $r[0]['error'] = 'Spam';
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = "You're talking too fast - or your internet is being too slow. *OR ARE YOU SPAMMING ON PURPOSE?! JERK!*";
+ $r[0]['secondsSince'] = 0;
+ $r[0]['displayName'] = 'SERVER';
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+}
+//Don't lockout requests by holding the session file open!
+
+$isLoggedIn = ($_SESSION['accepted'] == 1);
+
+session_write_close();
+$userID = $_SESSION['userID'];
+
+$chatLockDown = false;
+$use_psuedo_longpoll = true;
+
+// STOP CHAT?
+//$chatLockDown = true;
+
+// if (true) {
+ // if ($_SESSION['accepted'] !== 1) {
+ // exit;
+ // }
+// }
+
+require_once('../includes/chats.php');
+
+//exit;
+
+enterChannel($userID);
+$sent = false;
+
+//User is sending a message
+if (isset($_REQUEST['messages'])) {
+ $date = isMuted($userID);
+ if ($isLoggedIn !== true) {
+ $r[0]['error'] = 'Logged out';
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = "Whoops, your session has timed out. Please sign in again.";
+ $r[0]['secondsSince'] = 0;
+ $r[0]['displayName'] = 'SERVER';
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+ if ($date !== false) {
+ $r[0]['error'] = 'Muted';
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = 'You have been muted; You are muted until '.$date." (The current time is: ".date("Y-m-d H:i:s").")";
+ $r[0]['secondsSince'] = 0;
+ $r[0]['displayName'] = 'SERVER';
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+ if ($chatLockDown == true AND $_SESSION['isAdmin'] !== true) {
+ $r[0]['error'] = 'Lockdown';
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = 'Chat Lockdown has been activated. Messages are not being accepted';
+ $r[0]['secondsSince'] = 0;
+ $r[0]['displayName'] = 'SERVER';
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+
+ $messages = $_REQUEST['messages'];
+ $messages = explode("|:|", $messages);
+ foreach ($messages as $message) {
+ $message = filterStringForBadLanguage($message);
+ if ($message[0] == "/") {
+ $arguements = explode(" ", substr($message, 1));
+ $command = $arguements[0];
+
+ //Admin only commands
+ if ($_SESSION['isAdmin'] == true) {
+ if ($command == 'say') {
+ $insertID = addchat(null, substr($message, 5));
+ }
+ }
+ //javascript based commands:
+ if ($command == 'spoiler' OR $command == 'me') {
+ $insertID = addchat($userID, $message);
+ }
+ if ($command == 'help') {
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = "Commands: /help /time /spoiler /me. Surround text with ** for bold * for italics and ~~ for strikethrough. Chat by Pathery.com";
+ $r[0]['secondsSince'] = 0;
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+ if ($command == 'time') {
+ $r[0]['serverMessage'] = 'true';
+ $r[0]['message'] = "Server Time: ".date('l jS \of F Y h:i:s A');
+ $r[0]['secondsSince'] = 0;
+ $r[0]['userID'] = null;
+ echo json_encode($r);
+ exit;
+ }
+ } else {
+ $insertID = addchat($userID, $message);
+ }
+ }
+ $sent = true;
+}
+
+if ($_REQUEST['getChatFromID']) {
+ $getChatID = $_REQUEST['getChatFromID'];
+ if ($sent == true AND $use_psuedo_longpoll == true) {
+ // PSUEDO LONG POLLING: - This loops to try to retrieve
+ // the message you just sent, back from the server.
+
+ for( $i = 1; $i < 3; $i++) {
+ $data = getChat($getChatID);
+ if ($data !== false) {
+ echo prepareChatData($data);
+ exit;
+ }
+ //Wait .01 seconds per loop
+ usleep(10000);
+ }
+ }
+ $json = prepareChatData(getChat($getChatID));
+ echo $json;
+}
+
+function prepareChatData($data) {
+ if (!$data)
+ {
+ return false;
+ }
+ foreach($data as &$user) {
+ //$user['message'] = $user['message'].'write-append';
+ $user['secondsSince'] = strtotime($user['dateSent']) - strtotime("now");
+ }
+ return json_encode($data);
+}
+?> \ No newline at end of file