Browse Source

fix null uri values support

main
ghost 1 year ago
parent
commit
9232a4bf74
  1. BIN
      database/yggtracker.mwb
  2. 119
      src/library/database.php

BIN
database/yggtracker.mwb

Binary file not shown.

119
src/library/database.php

@ -151,19 +151,10 @@ class Database {
$this->_debug->query->insert->total++; $this->_debug->query->insert->total++;
if ($value) {
$query = $this->_db->prepare('INSERT INTO `port` SET `value` = ?'); $query = $this->_db->prepare('INSERT INTO `port` SET `value` = ?');
$query->execute([$value]); $query->execute([$value]);
} else {
$query = $this->_db->prepare('INSERT INTO `port` SET `value` = NULL');
$query->execute();
}
return $this->_db->lastInsertId(); return $this->_db->lastInsertId();
} }
@ -190,9 +181,7 @@ class Database {
} else { } else {
$query = $this->_db->prepare('SELECT * FROM `port` WHERE `value` IS NULL'); $query = $this->_db->query('SELECT * FROM `port` WHERE `value` IS NULL');
$query->execute();
} }
return $query->fetch(); return $query->fetch();
@ -209,7 +198,7 @@ class Database {
} }
// URI // URI
public function addUri(string $value) : int { public function addUri(mixed $value) : int {
$this->_debug->query->insert->total++; $this->_debug->query->insert->total++;
@ -231,18 +220,25 @@ class Database {
return $query->fetch(); return $query->fetch();
} }
public function findUri(string $value) { public function findUri(mixed $value) {
$this->_debug->query->select->total++; $this->_debug->query->select->total++;
if ($value) {
$query = $this->_db->prepare('SELECT * FROM `uri` WHERE `value` = ?'); $query = $this->_db->prepare('SELECT * FROM `uri` WHERE `value` = ?');
$query->execute([$value]); $query->execute([$value]);
} else {
$query = $this->_db->query('SELECT * FROM `uri` WHERE `value` IS NULL');
}
return $query->fetch(); return $query->fetch();
} }
public function initUriId(string $value) : int { public function initUriId(mixed $value) : int {
if ($result = $this->findUri($value)) { if ($result = $this->findUri($value)) {
@ -253,23 +249,14 @@ class Database {
} }
// Address Tracker // Address Tracker
public function addAddressTracker(int $schemeId, int $hostId, int $portId, int $uriId) : int { public function addAddressTracker(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
$this->_debug->query->insert->total++; $this->_debug->query->insert->total++;
if ($portId) {
$query = $this->_db->prepare('INSERT INTO `addressTracker` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?'); $query = $this->_db->prepare('INSERT INTO `addressTracker` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?');
$query->execute([$schemeId, $hostId, $portId, $uriId]); $query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('INSERT INTO `addressTracker` SET `schemeId` = ?, `hostId` = ?, `portId` = NULL, `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $this->_db->lastInsertId(); return $this->_db->lastInsertId();
} }
@ -284,27 +271,19 @@ class Database {
return $query->fetch(); return $query->fetch();
} }
public function findAddressTracker(int $schemeId, int $hostId, mixed $portId, int $uriId) { public function findAddressTracker(int $schemeId, int $hostId, mixed $portId, mixed $uriId) {
$this->_debug->query->select->total++; $this->_debug->query->select->total++;
if ($portId) { $query = $this->_db->query('SELECT * FROM `addressTracker` WHERE `schemeId` = ' . (int) $schemeId . '
AND `hostId` = ' . (int) $hostId . '
$query = $this->_db->prepare('SELECT * FROM `addressTracker` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` = ? AND `uriId` = ?'); AND `portId` ' . ($portId ? ' = ' . (int) $portId : ' IS NULL ') . '
AND `uriId` ' . ($uriId ? ' = ' . (int) $uriId : ' IS NULL '));
$query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('SELECT * FROM `addressTracker` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` IS NULL AND `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $query->fetch(); return $query->fetch();
} }
public function initAddressTrackerId(int $schemeId, int $hostId, mixed $portId, int $uriId) : int { public function initAddressTrackerId(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
if ($result = $this->findAddressTracker($schemeId, $hostId, $portId, $uriId)) { if ($result = $this->findAddressTracker($schemeId, $hostId, $portId, $uriId)) {
@ -315,23 +294,14 @@ class Database {
} }
// Acceptable Source // Acceptable Source
public function addAcceptableSource(int $schemeId, int $hostId, int $portId, int $uriId) : int { public function addAcceptableSource(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
$this->_debug->query->insert->total++; $this->_debug->query->insert->total++;
if ($portId) {
$query = $this->_db->prepare('INSERT INTO `acceptableSource` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?'); $query = $this->_db->prepare('INSERT INTO `acceptableSource` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?');
$query->execute([$schemeId, $hostId, $portId, $uriId]); $query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('INSERT INTO `acceptableSource` SET `schemeId` = ?, `hostId` = ?, `portId` = NULL, `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $this->_db->lastInsertId(); return $this->_db->lastInsertId();
} }
@ -346,27 +316,19 @@ class Database {
return $query->fetch(); return $query->fetch();
} }
public function findAcceptableSource(int $schemeId, int $hostId, mixed $portId, int $uriId) { public function findAcceptableSource(int $schemeId, int $hostId, mixed $portId, mixed $uriId) {
$this->_debug->query->select->total++; $this->_debug->query->select->total++;
if ($portId) { $query = $this->_db->query('SELECT * FROM `acceptableSource` WHERE `schemeId` = ' . (int) $schemeId . '
AND `hostId` = ' . (int) $hostId . '
$query = $this->_db->prepare('SELECT * FROM `acceptableSource` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` = ? AND `uriId` = ?'); AND `portId` ' . ($portId ? ' = ' . (int) $portId : ' IS NULL ') . '
AND `uriId` ' . ($uriId ? ' = ' . (int) $uriId : ' IS NULL '));
$query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('SELECT * FROM `acceptableSource` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` IS NULL AND `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $query->fetch(); return $query->fetch();
} }
public function initAcceptableSourceId(int $schemeId, int $hostId, mixed $portId, int $uriId) : int { public function initAcceptableSourceId(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
if ($result = $this->findAcceptableSource($schemeId, $hostId, $portId, $uriId)) { if ($result = $this->findAcceptableSource($schemeId, $hostId, $portId, $uriId)) {
@ -377,23 +339,14 @@ class Database {
} }
// eXact Source // eXact Source
public function addExactSource(int $schemeId, int $hostId, int $portId, int $uriId) : int { public function addExactSource(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
$this->_debug->query->insert->total++; $this->_debug->query->insert->total++;
if ($portId) {
$query = $this->_db->prepare('INSERT INTO `eXactSource` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?'); $query = $this->_db->prepare('INSERT INTO `eXactSource` SET `schemeId` = ?, `hostId` = ?, `portId` = ?, `uriId` = ?');
$query->execute([$schemeId, $hostId, $portId, $uriId]); $query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('INSERT INTO `eXactSource` SET `schemeId` = ?, `hostId` = ?, `portId` = NULL, `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $this->_db->lastInsertId(); return $this->_db->lastInsertId();
} }
@ -408,27 +361,19 @@ class Database {
return $query->fetch(); return $query->fetch();
} }
public function findExactSource(int $schemeId, int $hostId, mixed $portId, int $uriId) { public function findExactSource(int $schemeId, int $hostId, mixed $portId, mixed $uriId) {
$this->_debug->query->select->total++; $this->_debug->query->select->total++;
if ($portId) { $query = $this->_db->query('SELECT * FROM `eXactSource` WHERE `schemeId` = ' . (int) $schemeId . '
AND `hostId` = ' . (int) $hostId . '
$query = $this->_db->prepare('SELECT * FROM `eXactSource` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` = ? AND `uriId` = ?'); AND `portId` ' . ($portId ? ' = ' . (int) $portId : ' IS NULL ') . '
AND `uriId` ' . ($uriId ? ' = ' . (int) $uriId : ' IS NULL '));
$query->execute([$schemeId, $hostId, $portId, $uriId]);
} else {
$query = $this->_db->prepare('SELECT * FROM `eXactSource` WHERE `schemeId` = ? AND `hostId` = ? AND `portId` IS NULL AND `uriId` = ?');
$query->execute([$schemeId, $hostId, $uriId]);
}
return $query->fetch(); return $query->fetch();
} }
public function initExactSourceId(int $schemeId, int $hostId, mixed $portId, int $uriId) : int { public function initExactSourceId(int $schemeId, int $hostId, mixed $portId, mixed $uriId) : int {
if ($result = $this->findExactSource($schemeId, $hostId, $portId, $uriId)) { if ($result = $this->findExactSource($schemeId, $hostId, $portId, $uriId)) {

Loading…
Cancel
Save