Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/blogvaul.../callback/wings
File: ipstore.php
<?php
[0] Fix | Delete
if (!defined('ABSPATH')) exit;
[1] Fix | Delete
[2] Fix | Delete
if (!class_exists('BVIPStoreCallback')) :
[3] Fix | Delete
require_once dirname( __FILE__ ) . '/../../protect/ipstore.php';
[4] Fix | Delete
[5] Fix | Delete
class BVIPStoreCallback extends BVCallbackBase {
[6] Fix | Delete
public $db;
[7] Fix | Delete
[8] Fix | Delete
const IPSTORE_WING_VERSION = 1.4;
[9] Fix | Delete
[10] Fix | Delete
public function __construct($callback_handler) {
[11] Fix | Delete
$this->db = $callback_handler->db;
[12] Fix | Delete
}
[13] Fix | Delete
[14] Fix | Delete
public function updateBVTableContent($table, $value, $filter) {
[15] Fix | Delete
$this->db->query("UPDATE $table SET $value $filter;");
[16] Fix | Delete
}
[17] Fix | Delete
[18] Fix | Delete
public function insertBVTableContent($table, $fields, $value) {
[19] Fix | Delete
$this->db->query("INSERT INTO $table $fields values $value;");
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
public function deleteIPs($table, $rmfilters) {
[23] Fix | Delete
if (is_array($rmfilters)) {
[24] Fix | Delete
foreach ($rmfilters as $rmfilter) {
[25] Fix | Delete
$rmfilter = base64_decode($rmfilter);
[26] Fix | Delete
$this->db->deleteBVTableContent($table, $rmfilter);
[27] Fix | Delete
}
[28] Fix | Delete
}
[29] Fix | Delete
}
[30] Fix | Delete
[31] Fix | Delete
public function insertIPs($table, $fields, $values) {
[32] Fix | Delete
if (is_array($values)) {
[33] Fix | Delete
foreach ($values as $value) {
[34] Fix | Delete
$value = base64_decode($value);
[35] Fix | Delete
$this->insertBVTableContent($table, $fields, $value);
[36] Fix | Delete
}
[37] Fix | Delete
}
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
public function updateIPs($table, $value, $filters) {
[41] Fix | Delete
if (is_array($filters)) {
[42] Fix | Delete
foreach ($filters as $filter) {
[43] Fix | Delete
$filter = base64_decode($filter);
[44] Fix | Delete
$this->updateBVTableContent($table, $value, $filter);
[45] Fix | Delete
}
[46] Fix | Delete
}
[47] Fix | Delete
}
[48] Fix | Delete
[49] Fix | Delete
public function getIPs($table, $auto_increment_offset, $type, $category) {
[50] Fix | Delete
$query = "SELECT `start_ip_range` FROM $table WHERE id < $auto_increment_offset AND `type` in (" . implode(',', $type) . ") AND ";
[51] Fix | Delete
$query .= ($category == BVProtectIpstoreDB_V565::CATEGORY_FW) ? "`is_fw` = true;" : "`is_lp` = true;";
[52] Fix | Delete
return $this->db->getCol($query);
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
public function getIPStoreOffset($table, $auto_increment_offset) {
[56] Fix | Delete
$db = $this->db;
[57] Fix | Delete
return intval($db->getVar("SELECT MAX(id) FROM $table WHERE id < $auto_increment_offset"));
[58] Fix | Delete
}
[59] Fix | Delete
[60] Fix | Delete
public function getIPStoreInfo($table, $auto_increment_offset) {
[61] Fix | Delete
$db = $this->db;
[62] Fix | Delete
$info = array();
[63] Fix | Delete
[64] Fix | Delete
$info['fw_blacklisted_ips'] = $this->getIPs($table, $auto_increment_offset,
[65] Fix | Delete
BVProtectIpstoreDB_V565::blacklistedTypes(), BVProtectIpstoreDB_V565::CATEGORY_FW);
[66] Fix | Delete
$info['lp_blacklisted_ips'] = $this->getIPs($table, $auto_increment_offset,
[67] Fix | Delete
BVProtectIpstoreDB_V565::blacklistedTypes(), BVProtectIpstoreDB_V565::CATEGORY_LP);
[68] Fix | Delete
$info['fw_whitelisted_ips'] = $this->getIPs($table, $auto_increment_offset,
[69] Fix | Delete
BVProtectIpstoreDB_V565::whitelistedTypes(), BVProtectIpstoreDB_V565::CATEGORY_FW);
[70] Fix | Delete
$info['lp_whitelisted_ips'] = $this->getIPs($table, $auto_increment_offset,
[71] Fix | Delete
BVProtectIpstoreDB_V565::whitelistedTypes(), BVProtectIpstoreDB_V565::CATEGORY_LP);
[72] Fix | Delete
$info['ip_store_offset'] = $this->getIPStoreOffset($table, $auto_increment_offset);
[73] Fix | Delete
$info['country_ips_size'] = intval($db->getVar("SELECT COUNT(id) FROM $table WHERE id >= $auto_increment_offset"));
[74] Fix | Delete
[75] Fix | Delete
return $info;
[76] Fix | Delete
}
[77] Fix | Delete
[78] Fix | Delete
public function process($request) {
[79] Fix | Delete
$db = $this->db;
[80] Fix | Delete
$params = $request->params;
[81] Fix | Delete
$table = $params['table'];
[82] Fix | Delete
$bvTable = $db->getBVTable($table);
[83] Fix | Delete
$auto_increment_offset = $params['auto_increment_offset'];
[84] Fix | Delete
if (!$db->isTablePresent($bvTable)) {
[85] Fix | Delete
$resp = array("info" => false);
[86] Fix | Delete
} else {
[87] Fix | Delete
switch ($request->method) {
[88] Fix | Delete
case "ipstrinfo":
[89] Fix | Delete
$info = $this->getIPStoreInfo($bvTable, $auto_increment_offset);
[90] Fix | Delete
$resp = array("info" => $info);
[91] Fix | Delete
break;
[92] Fix | Delete
case "insrtips":
[93] Fix | Delete
$values = $params['values'];
[94] Fix | Delete
$fields = $params['fields'];
[95] Fix | Delete
if (array_key_exists('rmfilter', $params)) {
[96] Fix | Delete
$db->deleteBVTableContent($table, $params['rmfilter']);
[97] Fix | Delete
}
[98] Fix | Delete
$this->insertIPs($bvTable, $fields, $values);
[99] Fix | Delete
$resp = array("offset" => $this->getIPStoreOffset($bvTable, $auto_increment_offset));
[100] Fix | Delete
break;
[101] Fix | Delete
case "dltips":
[102] Fix | Delete
$rmfilters = $params['rmfilters'];
[103] Fix | Delete
$this->deleteIPs($table, $rmfilters);
[104] Fix | Delete
$resp = array("offset" => $this->getIPStoreOffset($bvTable, $auto_increment_offset));
[105] Fix | Delete
break;
[106] Fix | Delete
case "updtips":
[107] Fix | Delete
$value = $params['value'];
[108] Fix | Delete
$filters = $params['filters'];
[109] Fix | Delete
$this->updateIPs($bvTable, $value, $filters);
[110] Fix | Delete
$resp = array("offset" => $this->getIPStoreOffset($bvTable, $auto_increment_offset));
[111] Fix | Delete
break;
[112] Fix | Delete
default:
[113] Fix | Delete
$resp = false;
[114] Fix | Delete
}
[115] Fix | Delete
return $resp;
[116] Fix | Delete
}
[117] Fix | Delete
}
[118] Fix | Delete
}
[119] Fix | Delete
endif;
[120] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function