123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?PHP
-
-
- include("Source/cachefix.php");
- header('Content-type: text/javascript');
- include("Source/sql.php");
- include("Source/sign.php");
- include("Source/userlist.php");
- ob_start();
-
- $count = $_GET['count'];
- $channel = "#omnimaga";
- if (isset($_GET['channel']))
- $channel = base64_url_decode($_GET['channel']);
- $nick = "0";
- if (isset($_GET['nick']))
- {
- $nick = base64_url_decode($_GET['nick']);
- $signature = base64_url_decode($_GET['signature']);
- if ($signature != base64_url_encode(sign($nick)))
- $nick = "0";
- }
-
- if ($channel[0] == "*")
- {
- $sender = substr($channel,1);
- $channel = $nick;
- $res = sql_query("SELECT x.* FROM (
- SELECT * FROM `irc_lines`
- WHERE
- (`channel` = '%s'
- AND `name1` = '%s')
- OR
- (`channel` = '%s'
- AND `name1` = '%s')
- ORDER BY `line_number` DESC
- LIMIT %s
- ) AS x
- ORDER BY `line_number` ASC",$channel,$sender,$sender,$channel,$count + 0);
- }
- else
- {
- $res = sql_query("SELECT x.* FROM (
- SELECT * FROM `irc_lines`
- WHERE `channel` = '%s' OR `channel` = '%s'
- ORDER BY `line_number` DESC
- LIMIT %s
- ) AS x
- ORDER BY `line_number` ASC",$channel,$nick,$count + 0);
- }
- echo "void('$nick');";
- while ($result = mysql_fetch_array($res))
- {
-
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- $ignorelist = "";
- if ($userSql["name"]!=NULL) {
- $ignorelist = $userSql["ignores"];
- }
-
- if (strpos($userSql["ignores"],strtolower($result["name1"])."\n")===false) {
- echo "addLine('";
- switch (strtolower($result['type']))
- {
- case "pm":
- case "message":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result['message'])) . ':' . base64_url_encode(htmlspecialchars("0"));break;
- case "action":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result['message'])) . ':' . base64_url_encode(htmlspecialchars("0"));break;
- case "join":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1']));break;
- case "part":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- case "kick":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["name2"])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- case "quit":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- case "mode":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- case "nick":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["name2"]));break;
- case "server":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- case "topic":
- echo $result['line_number'] . ":" . $result['type'] . ":" . $result['Online'] . ":" . $result['time'] . ":" . base64_url_encode(htmlspecialchars($result['name1'])) . ":" . base64_url_encode(htmlspecialchars($result["message"]));break;
- }
- echo "');";
- }
- }
-
- $curMax = mysql_fetch_array(sql_query("SELECT MAX(`line_number`) FROM `irc_lines`"));
- echo "addLine('" . $curMax[0] . ":curline');";
-
- $curtopic = mysql_fetch_array(sql_query("SELECT * FROM `irc_topics` WHERE `chan`='%s'",strtolower($channel)));
- echo "addLine('" . $curMax[0] . ":topic:0:" . time() . "::" . base64_url_encode($curtopic["topic"]) . "');";
-
- $users = Array();
-
- $result = sql_query("SELECT * FROM `irc_users` WHERE `channel`='%s'",$channel);
- while ($user = mysql_fetch_array($result))
- {
- $users[count($users)][0] = strtolower($user['username']);
- $users[count($users) - 1][1] = $user['username'];
- $users[count($users) - 1][2] = $user['online'];
- $users[count($users) - 1][3] = $user['channel'];
- }
-
- asort($users);
- foreach ($users as $user)
- {
- echo "addUser('" . base64_url_encode(htmlspecialchars($user[1])) . ":" . $user[2] . "');";
- }
- ob_end_flush();
- ?>
|