public static function command($msg, $user) { $returnmsg = ""; $msg = substr($msg, 1); $command = explode(' ', $msg); commands::logm("command:" . $command[0] . "|rechte [" . $user->rights . "]\n"); switch ($command[0]) { case "invite": break; case "join": break; case "leave": break; case "rights": break; case "group": break; case "eval": if ($user->rights >= 10000000) { global $sockets, $users, $groups, $server; ob_start(); eval($command[1] . ";"); $result = ob_get_clean(); $returnmsg = $result; } else { $returnmsg = "Insufficient permissions!"; } break; case "kick": break; case "ban": break; case "shout": if ($user->rights > 100) { } else { $returnmsg = "Insufficient permissions!"; } break; case "w": if (select::byname($command[1])) { $returnmsg = "You whispert to:" . $command[1] . " " . $msg; } else { $returnmsg = "User \"" . $command[1] . "\" not found"; } break; default: $returnmsg = "Command not found"; break; } return $returnmsg; }
public function process(&$ircdata, $startup = false) { self::log_changes(&$ircdata, $startup); // log peoples hostnames, used for bans etc. if (self::max_users(&$ircdata)) { return true; } // check for max users. if (self::flood_check(&$ircdata)) { return true; } // this just does some checking, this is quite // important as it deals with the main anti-flood support ircd::ping(&$ircdata); // pingpong my name is tingtong if (commands::ctcp(&$ircdata)) { return true; } // ctcp stuff :D if (commands::motd(&$ircdata)) { return true; } // motd if (ircd::on_timeset(&$ircdata) && $ircdata[3] == 'FORCE') { self::$network_time = $ircdata[2]; } // we're getting a new time, update it if ($ircdata[0] == 'ERROR') { self::alog('ERROR: ' . self::get_data_after($ircdata, 1), 'BASIC'); self::save_logs(); ircd::shutdown('ERROR', true); } // act upon ERROR messages. foreach (modules::$list as $module => $data) { if ($data['type'] == 'core') { modules::$list[$module]['class']->main(&$ircdata, $startup); } } // any core modules? humm foreach (self::$service_bots as $bot) { $this->{$bot}->main(&$ircdata, $startup); } // we hook to each of our bots }
public static function get_command(&$nick, &$command) { commands::get_command('operserv', &$nick, &$command); }
public function main(&$ircdata, $startup = false) { if (ircd::on_msg(&$ircdata)) { $nick = core::get_nick(&$ircdata, 0); $chan = core::get_chan(&$ircdata, 2); //if ( core::search_nick( $chan ) !== false ) //return false; // bail if it thinks chan == nick. if (!($channel = services::chan_exists($chan, array('channel')))) { return false; } // channel isnt registered, halt immediatly.. // either something has cocked up or someone // has forced us into a channel :S if (chanserv::check_flags($chan, array('F')) === false) { return false; } // we gotta check if the channel has fantasy commands enabled first if (commands::on_fantasy_cmd(&$ircdata, 'help', core::$config->chanserv->nick)) { if (ircd::$halfop) { $help =& chanserv::$help->CS_HELP_FANTASY_ALL1; } else { $help =& chanserv::$help->CS_HELP_FANTASY_ALL2; } foreach ($help as $line) { services::communicate(core::$config->chanserv->nick, $nick, $line, array('p' => core::$config->chanserv->fantasy_prefix)); } } // !help command if (commands::on_fantasy_cmd(&$ircdata, 'owner', core::$config->chanserv->nick) && ircd::$owner) { if (chanserv::check_levels($nick, $channel->channel, array('q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '+q', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+q ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+q ' . $nick); } // check if another param is specified } // !owner command if (commands::on_fantasy_cmd(&$ircdata, 'deowner', core::$config->chanserv->nick) && ircd::$owner) { if (chanserv::check_levels($nick, $channel->channel, array('q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '-q', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '-q ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-q ' . $nick); } // check if another param is specified } // !deowner command if (commands::on_fantasy_cmd(&$ircdata, 'protect', core::$config->chanserv->nick) && ircd::$protect) { if (chanserv::check_levels($nick, $channel->channel, array('a', 'q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '+a', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+a ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+a ' . $nick); } // check if another param is specified } // !protect command if (commands::on_fantasy_cmd(&$ircdata, 'deprotect', core::$config->chanserv->nick) && ircd::$protect) { if (chanserv::check_levels($nick, $channel->channel, array('a', 'q', 'f', 'F')) === false) { return false; } if (strtolower($ircdata[4]) == strtolower(core::$config->chanserv->nick)) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '-a', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '-a ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-a ' . $nick); } // check if another param is specified } // !protect command if (commands::on_fantasy_cmd(&$ircdata, 'op', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '+o', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+o ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+o ' . $nick); } // check if another param is specified } // !op command if (commands::on_fantasy_cmd(&$ircdata, 'deop', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strtolower($ircdata[4]) == strtolower(core::$config->chanserv->nick)) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '-o', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '-o ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-o ' . $nick); } // check if another param is specified } // !deop command if (commands::on_fantasy_cmd(&$ircdata, 'halfop', core::$config->chanserv->nick) && ircd::$halfop) { if (chanserv::check_levels($nick, $channel->channel, array('h', 'o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '+h', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+h ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+h ' . $nick); } // check if another param is specified } // !hop command if (commands::on_fantasy_cmd(&$ircdata, 'dehalfop', core::$config->chanserv->nick) && ircd::$halfop) { if (chanserv::check_levels($nick, $channel->channel, array('h', 'o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strtolower($ircdata[4]) == strtolower(core::$config->chanserv->nick)) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '-h', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '-h ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-h ' . $nick); } // check if another param is specified } // !dehop command if (commands::on_fantasy_cmd(&$ircdata, 'voice', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('v', 'h', 'o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '+v', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+v ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+v ' . $nick); } // check if another param is specified } // !voice command if (commands::on_fantasy_cmd(&$ircdata, 'devoice', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('v', 'h', 'o', 'a', 'q', 'f', 'F')) === false) { return false; } if (strpos($ircdata[4], ':') !== false) { mode::type_check($chan, $ircdata[4], '-v', core::$config->chanserv->nick); } elseif (isset($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '-v ' . $ircdata[4]); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-v ' . $nick); } // check if another param is specified } // !devoice command if (commands::on_fantasy_cmd(&$ircdata, 'topic', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('t', 'F')) === false) { return false; } if (isset($ircdata[4])) { $topicmask = chanserv::get_flags($chan, 't'); // get the topicmask if ($topicmask != null) { $new_topic = core::get_data_after(&$ircdata, 4); $new_topic = str_replace(' *', ' ' . $new_topic, $topicmask); $new_topic = str_replace('\\*', '*', $new_topic); ircd::topic(core::$config->chanserv->nick, $channel->channel, $new_topic); database::update('chans', array('topic' => $new_topic, 'topic_setter' => core::$config->chanserv->nick), array('channel', '=', $channel->channel)); } else { $new_topic = trim(core::get_data_after(&$ircdata, 4)); ircd::topic(core::$config->chanserv->nick, $channel->channel, $new_topic); database::update('chans', array('topic' => $new_topic, 'topic_setter' => core::$config->chanserv->nick), array('channel', '=', $channel->channel)); } // if there isnt, just set it normally. } // make sure there is another mask x] } // !topic command if (commands::on_fantasy_cmd(&$ircdata, 'mode', core::$config->chanserv->nick) || commands::on_fantasy_cmd(&$ircdata, 'm', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('h', 'o', 'a', 'q', 'F')) === false) { return false; } if (isset($ircdata[4])) { $mode_queue = core::get_data_after(&$ircdata, 4); // get the mode queue if (!core::$nicks[$nick]['ircop']) { $mode_queue[0] = str_replace('O', '', $mode_queue[0]); } // don't let them MODE +O if they're not an IRCop ircd::mode(core::$config->chanserv->nick, $chan, $mode_queue); // check if there are any other parameters in the !mode command } // are we even setting a mode? } // !mode command if (commands::on_fantasy_cmd(&$ircdata, 'kick', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('r', 'F')) === false) { return false; } // ignore if the nick doesn't have access to perform this if (isset($ircdata[4])) { if (chanserv::check_levels($nick, $channel->channel, array('o', 'F')) && chanserv::check_levels($nick, $channel->channel, array('o', 'F')) === false) { return false; } // check if the user kicking, has the access to kick them. that doesn't make sense, but yeah. if (isset($ircdata[5])) { $reason = core::get_data_after(&$ircdata, 5); ircd::kick(core::$config->chanserv->nick, $ircdata[4], $chan, '(' . $nick . ') ' . ($reason != '') ? $reason : 'No reason'); // kick them with the reason } else { ircd::kick(core::$config->chanserv->nick, $ircdata[4], $chan, $nick); // kick them with no reason } } // make sure a parameter is issued } // !kick command if (commands::on_fantasy_cmd(&$ircdata, 'kickban', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('r', 'F')) === false) { return false; } // ignore if the nick doesn't have access to perform this if (isset($ircdata[4])) { if (chanserv::check_levels($nick, $channel->channel, array('o', 'F')) && chanserv::check_levels($nick, $channel->channel, array('o', 'F')) === false) { return false; } // check if the user kicking, has the access to kick them. that doesn't make sense, but yeah. if ($user = core::search_nick($ircdata[4])) { ircd::mode(core::$config->chanserv->nick, $chan, '+b *@' . $user['host']); if (isset($ircdata[5])) { $reason = core::get_data_after(&$ircdata, 5); ircd::kick(core::$config->chanserv->nick, $ircdata[4], $chan, '(' . $nick . ') ' . ($reason != '') ? $reason : 'No reason'); // kick them with the reason } else { ircd::kick(core::$config->chanserv->nick, $ircdata[4], $chan, $nick); // kick them with no reason } // check if there is a reason etc. } else { return false; } } // make sure a parameter is issued } // !ban command if (commands::on_fantasy_cmd(&$ircdata, 'ban', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('r', 'F')) === false) { return false; } // ignore if the nick doesn't have access to perform this if (isset($ircdata[4])) { if (chanserv::check_levels($nick, $channel->channel, array('o', 'F')) && chanserv::check_levels($nick, $channel->channel, array('o', 'F')) === false) { return false; } // check if the user kicking, has the access to kick them. that doesn't make sense, but yeah. if (strpos($ircdata[4], '@') === false && ($user = core::search_nick($ircdata[4]))) { ircd::mode(core::$config->chanserv->nick, $chan, '+b *@' . $user['host']); } else { ircd::mode(core::$config->chanserv->nick, $chan, '+b ' . $ircdata[4]); } // is the hostname in our cache? if not just set a ban on it lol. } } // !ban command if (commands::on_fantasy_cmd(&$ircdata, 'unban', core::$config->chanserv->nick)) { if (chanserv::check_levels($nick, $channel->channel, array('r', 'F')) === false) { return false; } if (isset($ircdata[4])) { if (strpos($ircdata[4], '@') === false && ($user = core::search_nick($ircdata[4]))) { ircd::mode(core::$config->chanserv->nick, $chan, '-b *@' . $user['host']); } else { ircd::mode(core::$config->chanserv->nick, $chan, '-b ' . $ircdata[4]); } // is the hostname in our cache? if not unban it.. } } // !unban command if (commands::on_fantasy_cmd(&$ircdata, 'flags', core::$config->chanserv->nick) && isset(modules::$list['cs_flags'])) { $n_ircdata = $ircdata; unset($n_ircdata[0], $n_ircdata[1], $n_ircdata[2], $n_ircdata[3]); array_unshift($n_ircdata, $chan); // construct a new ircdata array cs_flags::flags_command($nick, $n_ircdata, true); // execute the flags command with the new data unset($n_ircdata); // get rid of this, isn't longer needed } // !flags command (experimental) if (commands::on_fantasy_cmd(&$ircdata, 'levels', core::$config->chanserv->nick) && isset(modules::$list['cs_levels'])) { $n_ircdata = $ircdata; unset($n_ircdata[0], $n_ircdata[1], $n_ircdata[2], $n_ircdata[3]); array_unshift($n_ircdata, $chan); // construct a new ircdata array cs_levels::levels_command($nick, $n_ircdata, true); // execute the flags command with the new data unset($n_ircdata); // get rid of this, isn't longer needed } // !levels command (experimental) if (commands::on_fantasy_cmd(&$ircdata, 'sync', core::$config->chanserv->nick) && isset(modules::$list['cs_levels'])) { cs_levels::on_create(core::$chans[$chan]['users'], $channel); // execute on_create, cause we just treat it as that // this is kinda a shortcut, but well worth it. ircd::notice(core::$config->chanserv->nick, $chan, '' . $nick . ' used SYNC'); } // !sync command (experimental) } // only trigger on channel messages }
public function LoadPageBody() { $function = new functions(); $command = new commands(); $forms = new forms(); $curl = new cron(); $command->FindAllCommands($_GET['cmd']); $this->_post_values = $_POST; /* * IF THE USER COMES FROM EMAIL URL */ if (isset($_GET['lid'])) { $table = array("0" => "temp_invite"); $fields = array("0" => "linkid", "1" => "status"); $values = array("0" => $_GET['lid'], "1" => "0"); $option = "4"; $option2 = "1"; } /* * Pages * Default set for Home page * follow the procedure from below * Do NOT Change fist if statment */ if (!isset($_GET['cmd']) || $_GET['cmd'] == "") { if (isset($_GET['lid']) && $function->CheckIfExists($table, $fields, $values, $option, $option2)) { $page_content_array[] = array("id" => "55", "invite_info" => $_GET['lid']); } else { $numUsers = $function->GetNumUsers(); $numLeagues = $function->GetNumLeagues(); $numTeams = $function->GetNumTeams(); $numPoints = $function->GetNumPoints(); $page_content_array[] = array("id" => "0", "page_name" => "Landing", "div_name" => "landing", "signup" => $this->_post_values, "login" => $this->_post_values, "numUsers" => $numUsers, "numLeagues" => $numLeagues, "numTeams" => $numTeams, "numPoints" => $numPoints); } /* * Profile * id @ 1 * DO not Change this * RS 20160201 * */ } else { if (isset($_GET['cmd']) && $function->CheckSSID("users", $_GET['ssid']) == true && $command->ReturnAllCommands() && isset($_SESSION['isLoggedin'])) { switch ($_GET['cmd']) { case "profile": $data = $function->getDataQuery("users", "ssid", $_GET['ssid']); $data = $function->SetDataQuery(); $userleagues = $function->GetUserLeagues(); $page_content_array[] = array("id" => "1", "page_name" => "Profile", "div_name" => "m-a-n", "data" => $data, "forms" => $forms, "functions" => $function, "invite" => $this->_post_values, "link_stat" => $link_status, "delete_key" => $_GET['id'], "user_leagues" => $userleagues); break; case "home": $leagueName = $function->GetLeagueName(); $function->SetPoints(); $leagueStandings = $function->GetStandings(); $dailyChanges = $function->GetDailyChanges(); $page_content_array[] = array("id" => "2", "page_name" => "Home", "div_name" => "home", "league_name" => $leagueName, "league_standings" => $leagueStandings, "dailyChanges" => $dailyChanges); break; case "roster": $data = $function->GetData(); $teamName = $function->GetTeamName(); $userRoster = $function->GetRoster(); $getTradeOffers = $function->GetTradeOffers(); $incomingTradeOffers = $function->IncomingTrades(); $teamRank = $function->GetTeamRank(); $page_content_array[] = array("id" => "3", "page_name" => "Roster", "div_name" => "team", "data" => $data, "roster" => $userRoster, "functions" => $function, "teamName" => $teamName, "trades" => $getTradeOffers, "incoming" => $incomingTradeOffers, "teamRank" => $teamRank); break; case "add-drop": $userRoster = $function->GetRoster(); $data = $function->GetData(); $taken = $function->TakenTeams(); $page_content_array[] = array("id" => "4", "page_name" => "Add/Drop", "div_name" => "add-drop", "data" => $data, "roster" => $userRoster, "taken" => $taken); break; case "trades": $userRoster = $function->GetRoster(); $pool = $function->GetData(); $teamID = $function->GetTeamsID(); $teamMembers = $function->GetTeamMembers(); $page_content_array[] = array("id" => "5", "page_name" => "Trades", "div_name" => "trades", "roster" => $userRoster, "pool" => $pool, "teamsID" => $teamID, "teamMembers" => $teamMembers); break; case "matchup": $function->getDataQuery("users", "ssid", $_GET['ssid']); $data = $function->SetDataQuery(); $page_content_array[] = array("id" => "6", "page_name" => "Match Up", "div_name" => "matchup", "data" => $data); break; case "draft": $pool = $function->GetData(); $draftOrder = $function->DraftOrder(); $reverseOrder = $function->DraftReverseOrder(); $onTheClock = $function->OnTheClock(); $teamsTaken = $function->TeamsTaken(); $taken = $function->TakenTeams(); $totalPicks = $function->GetTotalPicks(); $draftStatus = $function->GetDraftStatus(); $getRosterStatus = $function->GetRosterStatus(); $commisioner = $function->GetCommisioner(); $page_content_array[] = array("id" => "7", "page_name" => "Draft", "div_name" => "draft", "pool" => $pool, "draftOrder" => $draftOrder, "reverseOrder" => $reverseOrder, "clock" => $onTheClock, "teamsTaken" => $teamsTaken, "totalPicks" => $totalPicks, "taken" => $taken, "status" => $draftStatus, "rosterStatus" => $getRosterStatus, "commisioner" => $commisioner); break; case "settings": $page_content_array[] = array("id" => "8", "page_name" => "Setting", "div_name" => "m-a-n", "data" => $data); break; case "edit-profile": $function->getDataQuery("users", "ssid", $_GET['ssid']); $data = $function->SetDataQuery(); $page_content_array[] = array("id" => "9", "page_name" => "Edit Profile", "div_name" => "m-a-n", "data" => $data); break; case "log-out": $function->UpdateLoginSSID("users", $_SESSION['isLoggedin'], "ssid", $_GET['ssid']); $page_content_array[] = array("id" => "10", "page_name" => "Logout"); break; case "help": $page_content_array[] = array("id" => "11", "page_name" => "Help", "div_name" => "help", "data" => $data); break; case "faq": $page_content_array[] = array("id" => "12", "page_name" => "FAQ", "div_name" => "faq", "data" => $data); break; case "invited": $page_content_array[] = array("id" => "13", "page_name" => "Invited page", "div_name" => "m-a-n", "data" => $_GET['lid'], "forms" => $forms, "functions" => $function, "invite" => $this->_post_values, "ssid" => $_GET['ssid']); break; } } else { if (isset($_GET['cmd']) && $function->CheckSSID("users", $_GET['ssid']) == false && !isset($_SESSION['isLoggedin'])) { header("Location: loader.php?cmd="); } else { $page_content_array[] = array("id" => "404", "page_name" => "404"); } } } $body = new body(); echo $body->BuildPages($page_content_array); }
public static function process($client, $msg) { if (DEBUG) { echo "process\n"; } $msg = str_replace("&", "&", $msg); $msg = str_replace("<", "<", $msg); $msg = str_replace(">", ">", $msg); $receivers = select::receivers($client->active_group); if (substr($msg, 0, 1) == "!module") { $gamemode::run($msg, $client, $receivers); } else { if (substr($msg, 0, 1) == "!") { $msg = commands::command($msg, $client, $receivers); $receivers = array($client); chat::send_msg($client, $msg, $client); } else { chat::send($client, $msg, $receivers); } } }