function SSO_IsIPAllowed($info) { global $sso_settings, $sso_ipaddr; $allowed = false; $patterns = explode("\n", str_replace("\r", "\n", $sso_settings[""]["iprestrict"]["patterns"])); foreach ($patterns as $pattern) { $pattern = trim($pattern); if ($pattern != "" && IPAddr::IsMatch($pattern, $sso_ipaddr)) { $allowed = true; } } if (!$allowed) { return false; } $allowed = false; $patterns = explode("\n", str_replace("\r", "\n", $info["patterns"])); foreach ($patterns as $pattern) { $pattern = trim($pattern); if ($pattern != "" && IPAddr::IsMatch($pattern, $sso_ipaddr)) { $allowed = true; } } return $allowed; }
if ($sso_site_admin && isset($_REQUEST["action"]) && $_REQUEST["action"] == "manageipcache") { $desc = "<br />"; $desc .= "<a href=\"" . BB_GetRequestURLBase() . "?action=resetipcache&sec_t=" . BB_CreateSecurityToken("resetipcache") . "\" onclick=\"return confirm('" . htmlspecialchars(BB_JSSafe(BB_Translate("Resetting will wipe the entire cache. Are you sure you want to reset the IP address cache?"))) . "');\">" . htmlspecialchars(BB_Translate("Reset IP Address Cache")) . "</a>"; $rows = array(); if (isset($_REQUEST["ipaddr"]) && $_REQUEST["ipaddr"] != "") { $pattern = $_REQUEST["ipaddr"]; if (strpos($pattern, "-") !== false || strpos($pattern, ",") !== false || strpos($pattern, "*") !== false) { $result = $sso_db->Query("SELECT", array("*", "FROM" => "?"), $sso_db_ipcache); } else { $ipaddr = IPAddr::NormalizeIP($pattern); $pattern = $ipaddr["ipv6"]; $result = $sso_db->Query("SELECT", array("*", "FROM" => "?", "WHERE" => "ipaddr = ?"), $sso_db_ipcache, $pattern); } while ($row = $result->NextRow()) { $ipaddr = IPAddr::NormalizeIP($row->ipaddr); if (IPAddr::IsMatch($pattern, $ipaddr)) { $info = unserialize($row->info); $spammer = false; if (isset($info["spaminfo"])) { foreach ($sso_providers as $provider => &$instance) { if (isset($info["spaminfo"][$provider]) && $info["spaminfo"][$provider]["spammer"]) { $spammer = true; } } } $rows[] = array(htmlspecialchars($ipaddr["ipv4"] != "" ? $ipaddr["ipv4"] : $ipaddr["shortipv6"]), htmlspecialchars(BB_Translate($spammer ? "Yes" : "No")), BB_FormatTimestamp("M j, Y @ g:i A", CSDB::ConvertFromDBTime($row->created)), "<a href=\"" . BB_GetRequestURLBase() . "?action=viewipaddr&id=" . $row->id . "&sec_t=" . BB_CreateSecurityToken("viewipaddr") . "\">" . htmlspecialchars(BB_Translate("View")) . "</a>"); } } $table = array("title" => "Search Results", "type" => "table", "cols" => array("IP Address", "Spammer?", "Created", "Options"), "rows" => $rows, "desc" => BB_Translate("The search results for the IP address pattern '%s'.", $pattern)); } else { if (isset($_REQUEST["ipaddr"]) && $_REQUEST["ipaddr"] == "") {