123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?PHP
- /*
- ip 108.174.51.58
- OmnomIRC COPYRIGHT 2010,2011 Netham45
- This file is part of OmnomIRC.
- OmnomIRC is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- OmnomIRC is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with OmnomIRC. If not, see <http://www.gnu.org/licenses/>.
- */
- include("Source/cachefix.php"); //This must be the first line in every file.
- include("Source/sql.php");
- include("Source/sign.php");
- if (!isset($_GET['signature']) || !isset($_GET['nick']) || !isset($_GET['message']) || !isset($_GET['channel'])) die("Missing Required Field");
- if (strlen($_GET['message']) < 4) die("Bad message");
- if (!checkSignature($_GET['nick'],$_GET['signature'],true)) die("Bad signature");
-
-
- $message = base64_url_decode(str_replace(" ","+",$_GET['message']));
- $type = "message";
- $message = str_replace(array("\r", "\r\n", "\n"), ' ', $message);
- $parts = explode(" ",$message);
- if ($parts[0] == "/me")
- {
- $type = "action";
- $message = preg_replace("/\/me/","",$message,1);
- }
- if (strlen($message) <= 0) die("Bad message");
- $nick = html_entity_decode(base64_url_decode($_GET['nick']));
- $channel = base64_url_decode($_GET['channel']);
- $pm = false;
- if ($parts[0] == "/msg" || $parts[0] == "/pm")
- {
- $pm=true;
- $channel = $parts[1];
- $message = "";
- unset($parts[0]);
- unset($parts[1]);
- $message = implode(" ",$parts);
- $type = "pm";
- }
-
- //Sorunome edit START
- $sendNormal = true;
- $reload = false;
- $sendPm = false;
- if ($parts[0] == "/ignore") {
- unset($parts[0]);
- $ignoreuser = strtolower(implode(" ",$parts));
- $returnmessage = "";
- $sendNormal = false;
- $sendPm = true;
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- if ($userSql["name"]==NULL) {
- sql_query("INSERT INTO `irc_ignorelist` (name,ignores) VALUES('%s','')",strtolower($nick));
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- }
- if (strpos($userSql["ignores"],$ignoreuser."\n")===false) {
- $userSql["ignores"].=$ignoreuser."\n";
- sql_query("UPDATE `irc_ignorelist` SET ignores='%s' WHERE name='%s'",$userSql["ignores"],strtolower($nick));
- $returnmessage = "\x033Now ignoring $ignoreuser.";
- $reload = true;
- } else {
- $returnmessage = "\x034ERROR: couldn't ignore $ignoreuser: already ignoring.";
- }
- }
- if ($parts[0] == "/unignore") {
- unset($parts[0]);
- $ignoreuser = strtolower(implode(" ",$parts));
- $returnmessage = "";
- $sendNormal = false;
- $sendPm = true;
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- if ($userSql["name"]==NULL) {
- sql_query("INSERT INTO `irc_ignorelist` (name,ignores) VALUES('%s','')",strtolower($nick));
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- }
- $allIgnoreUsers = explode("\n","\n".$userSql["ignores"]);
- $unignored = false;
- for ($i;$i<sizeof($allIgnoreUsers);$i++) {
- echo $allIgnoreUsers[$i]." ".$ignoreuser."\n";
- if ($allIgnoreUsers[$i]==$ignoreuser) {
- $unignored = true;
- unset($allIgnoreUsers[$i]);
- }
- }
- unset($allIgnoreUsers[0]); //whitespace bug
- $userSql["ignores"] = implode("\n",$allIgnoreUsers);
- if ($ignoreuser=="*") {$userSql["ignores"]="";$unignored=true;} //unignore all
- if ($unignored) {
- $returnmessage = "\x033You are not more ignoring $ignoreuser";
- if ($ignoreuser=="*") $returnmessage = "\x033You are no longer ignoring anybody.";
- mysql_fetch_array(sql_query("UPDATE `irc_ignorelist` SET ignores='%s' WHERE name='%s'",$userSql["ignores"],strtolower($nick)));
- $reload = true;
- } else {
- $returnmessage = "\x034ERROR: You weren't ignoring $ignoreuser";
- }
- }
- if ($parts[0] == "/ignorelist") {
- $returnmessage = "";
- $sendNormal = false;
- $sendPm = true;
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- if ($userSql["name"]==NULL) {
- sql_query("INSERT INTO `irc_ignorelist` (name,ignores) VALUES('%s','')",strtolower($nick));
- $userSql = mysql_fetch_array(sql_query("SELECT * FROM `irc_ignorelist` WHERE name='%s'",strtolower($nick)));
- }
- $returnmessage = "\x033Ignored users: ".str_replace("\n",",",$userSql["ignores"]);
- }
- if ($parts[0] == "/reload" || $parts[0] == "/refresh") {$reload = true;$sendNormal=false;}
- //Sorunome edit END
- if ($channel[0] == "*") //PM
- {
- $type = "pm";
- $channel = substr($channel,1);
- }
-
- if ($sendNormal) {//sorunome edit
- sql_query("INSERT INTO `irc_outgoing_messages` (message,nick,channel,action) VALUES('%s','%s','%s','%s')",$message,$nick,$channel,($type=="action")?'1':'0');
- sql_query("INSERT INTO `irc_lines` (name1,message,type,channel,time,online) VALUES('%s','%s','%s','%s','%s',1)",$nick,$message,$type,$channel,time());
- }
- if ($sendPm) {//sorunome edit START
- sql_query("INSERT INTO `irc_lines` (name1,message,type,channel,time,online) VALUES('%s','%s','%s','%s','%s',1)","OmnomIRC",$returnmessage,"server",$nick,time());
- }
- if ($reload) {
- sql_query("INSERT INTO `irc_lines` (name1,message,type,channel,time,online) VALUES('%s','%s','%s','%s','%s',1)","OmnomIRC","THE GAME","reload",$nick,time());
- }
- if (isset($_GET['textmode'])) {
- session_start();
- echo "<html><head><meta http-equiv=\"refresh\" content=\"1;url=textmode.php?update=".$_SESSION['curline']."\"></head><body>Sending message...</body></html>";
- }
- //sorunome edit END
- ?>
|