From 793ed0c5502b38e597b69240babce9e0d5a53bdd Mon Sep 17 00:00:00 2001 From: overflowerror Date: Thu, 12 Feb 2015 18:45:49 +0100 Subject: [PATCH] commit! --- ajax.php | 161 +++++++++++++++++++++ connect.php | 4 + db.sql | 40 ++++++ index.php | 402 ++++++++++++++++++++++++++++++++++++++++++++++++++++ kicked.html | 2 + logout.php | 4 + 6 files changed, 613 insertions(+) create mode 100644 ajax.php create mode 100644 connect.php create mode 100644 db.sql create mode 100644 index.php create mode 100644 kicked.html create mode 100644 logout.php diff --git a/ajax.php b/ajax.php new file mode 100644 index 0000000..2dffb7a --- /dev/null +++ b/ajax.php @@ -0,0 +1,161 @@ +iuID != $_SESSION['userID']) { + $json['error'] = "nicht erlaubt"; + } else { + $sql = "SELECT + `p`.`ID` AS `id` + FROM `participants` AS `p` + INNER JOIN `conversations` AS `c` ON `p`.`conversationFK`=`c`.`ID` + INNER JOIN `users` AS `u` ON `p`.`userFK`=`u`.`ID` + WHERE `c`.`ID`=" . intval($_POST['chat']) . " + AND `u`.`username`='" . mysql_real_escape_string(htmlspecialchars($_POST['username'])) . "'"; + $result = mysql_query($sql); + + echo mysql_error(); + + if (!mysql_num_rows($result)) { + $sql = "SELECT * FROM `users` WHERE `username`='" . mysql_real_escape_string(htmlspecialchars($_POST['username'])) . "'"; + $result = mysql_query($sql); + $row = mysql_fetch_object($result); + $sql = "INSERT INTO `participants` (`conversationFK`, `userFK`, `joinTime`) + VALUES (" . intval($_POST['chat']) . ", " . $row->ID . ", " . time() . ")"; + $result = mysql_query($sql); + } + + $json['succes'] = true; + } + } else if (isset($_GET['load'])) { + + if (!$_SESSION['loggedIn']) + die("not loggedIn"); + + $json['pid'] = $_POST['pid']; + $json['mid'] = $_POST['mid']; + + $sql = "SELECT * FROM `participants` WHERE `conversationFK`=" . intval($_POST['chat']) . " AND `userFK`=" . $_SESSION['userID']; + $result = mysql_query($sql); + if (!mysql_num_rows($result)) { + echo '{"nic": true}'; + exit(); + } + + + $i = 0; + for (; $i < 55; $i++) { + $sql = "SELECT + `m`.`ID` AS `id`, + `u`.`username` AS `username`, + `u`.`ID` AS `userid`, + `m`.`sentTime` AS `time`, + `m`.`text` AS `text` + FROM `messages` AS `m` + INNER JOIN `users` AS `u` ON `m`.`userFK`=`u`.`ID` + WHERE `m`.`conversationFK`=" . intval($_POST['chat']) . " + AND `m`.`ID`>" . intval($_POST['mid']) . " + ORDER BY `m`.`sentTime`"; + $resultm = mysql_query($sql); + + $sql = "SELECT + `p`.`ID` AS `id`, + `u`.`ID` AS `userid`, + `u`.`username` AS `username` + FROM `participants` AS `p` + INNER JOIN `users` AS `u` ON `p`.`userFK`=`u`.`ID` + WHERE `p`.`conversationFK`=" . intval($_POST['chat']) . " + AND `p`.`ID`>" . intval($_POST['pid']); + $resultp = mysql_query($sql); + + if (mysql_num_rows($resultm) || mysql_num_rows($resultp)) { + $json['messages'] = array(); + + while ($row = mysql_fetch_object($resultm)) { + $tmp = array(); + $tmp['text'] = $row->text; + $tmp['username'] = $row->username; + $tmp['userid'] = $row->userid; + $json['messages'][] = $tmp; + $json['lastId'] = $row->id; + $sql = "INSERT INTO `seenTimes` (`time`, `userFK`, `messageFK`) VALUES (" . time() . ", " . $_SESSION['userID'] . ", " . $row->id . ")"; + $result = mysql_query($sql); + } + + $json['users'] = array(); + + $sql = "SELECT + `p`.`ID` AS `id`, + `u`.`ID` AS `userid`, + `u`.`username` AS `username` + FROM `participants` AS `p` + INNER JOIN `users` AS `u` ON `p`.`userFK`=`u`.`ID` + WHERE `p`.`conversationFK`=" . intval($_POST['chat']); + $resultp = mysql_query($sql); + + while ($row = mysql_fetch_object($resultp)) { + $tmp = array(); + $tmp['username'] = $row->username; + $tmp['userid'] = $row->userid; + $json['users'][] = $tmp; + $json['lastPa'] = $row->id; + } + + break; + } + usleep(30 * 1000); + } + if ($i >= 55) { + $json['succes'] = false; + } else { + $json['succes'] = true; + } + } else if (isset($_GET['send'])) { + $sql = "INSERT INTO `messages` (`userFK`, `conversationFK`, `sentTime`, `text`) + VALUES (" . $_SESSION['userID'] . ", " . intval($_POST['chat']) . ", " . time() . ", + '" . mysql_real_escape_string(htmlspecialchars($_POST['text'])) . "')"; + $result = mysql_query($sql); + + $json['success'] = true; + } else if (isset($_GET['removeUser'])) { + if (!isset($_POST['id']) || !isset($_POST['chat'])) + die(); + $id = intval($_POST['id']); + $chat = intval($_POST['chat']); + + if (!$_SESSION['loggedIn']) + die("not logged in"); + + $sql = "SELECT * FROM `conversations` WHERE `initUserFK`=" . $_SESSION['userID'] . " AND `ID`=" . $chat; + $result = mysql_query($sql); + if (!mysql_num_rows($result)) + die("fatal!"); + $sql = "DELETE FROM `participants` WHERE `userFK`=" . $id . " AND `conversationFK`=" . $chat; + $result = mysql_query($sql); + echo mysql_error(); + } + + echo json_encode($json); +?> diff --git a/connect.php b/connect.php new file mode 100644 index 0000000..6a029d1 --- /dev/null +++ b/connect.php @@ -0,0 +1,4 @@ + diff --git a/db.sql b/db.sql new file mode 100644 index 0000000..7da70a5 --- /dev/null +++ b/db.sql @@ -0,0 +1,40 @@ +CREATE TABLE `conversations` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `initUserFK` int(11) NOT NULL, + `initTime` int(11) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; + +CREATE TABLE `messages` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `userFK` int(11) NOT NULL, + `conversationFK` int(11) NOT NULL, + `sentTime` int(11) NOT NULL, + `text` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; + +CREATE TABLE `participants` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `conversationFK` int(11) NOT NULL, + `userFK` int(11) NOT NULL, + `joinTime` int(11) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=utf8; + +CREATE TABLE `seenTimes` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `time` int(11) NOT NULL, + `userFK` int(11) NOT NULL, + `messageFK` int(11) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM AUTO_INCREMENT=63 DEFAULT CHARSET=utf8; + +CREATE TABLE `users` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `username` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `password` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, + `regTime` int(11) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; diff --git a/index.php b/index.php new file mode 100644 index 0000000..7e71809 --- /dev/null +++ b/index.php @@ -0,0 +1,402 @@ + + + + Eine Liste der Konversationen + + Login
+ Noch keinen Account? +ID; + + header("LOCATION: ?site=home"); + exit(); + } + if (isset($_GET['error'])) + echo "
Error Typ: " . htmlspecialchars($_GET['error']) . "
"; +?> +
+
+
+ +
+ID; + //echo mysql_error(); + header("LOCATION: ?site=home"); + exit(); + } + if (isset($_GET['error'])) + echo "
Error Typ: " . htmlspecialchars($_GET['error']) . "
"; +?> +
+
+
+
+
+iuID) { +?> +
+ Uh, du bist der Initiator? Cool... : ) + + +
+ +
+ + +
+
+
+ +
+
+
+ +
+
+
+
+
+ + +
+
+ID . ", " . $_SESSION['userID'] . ", " . time() . ")"; + $result = mysql_query($sql); + + header("LOCATION: ?site=conversations"); + exit(); + } + + $sql = "SELECT + `c`.`ID` AS `id`, + `c`.`name` AS `name`, + `c`.`initTime` AS `initTime`, + `p`.`joinTime` AS `joinTime`, + `iu`.`ID` AS `iuID`, + `iu`.`username` AS `initUser` + FROM `participants` AS `p` + INNER JOIN `conversations` AS `c` ON `p`.`conversationFK`=`c`.`ID` + INNER JOIN `users` AS `iu` ON `c`.`initUserFK`=`iu`.`ID` + WHERE `p`.`userFK`=" . $_SESSION['userID']; + + $result = mysql_query($sql); + + if (!mysql_num_rows($result)) { + echo "Keine Konversationen... : (
"; + } + if (isset($_GET['error'])) + echo "
Error Typ: " . htmlspecialchars($_GET['error']) . "
"; +?> + + + + + + + + + + + + + +
name; ?>
von initUser; ?>um initTime; ?>
dabei seit joinTime; ?>
+
+ Neue Konversation:
+
+
+ +
+
+ diff --git a/kicked.html b/kicked.html new file mode 100644 index 0000000..e3ae89d --- /dev/null +++ b/kicked.html @@ -0,0 +1,2 @@ +Du wurdest gekickt!
+Zurück diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..acaaa5e --- /dev/null +++ b/logout.php @@ -0,0 +1,4 @@ + \ No newline at end of file