From 6f7f328d7ac5aee73289925656a2e3a1eb7d63bd Mon Sep 17 00:00:00 2001 From: Alan Date: Thu, 12 Oct 2023 10:05:32 +0800 Subject: [PATCH] add force to getCurrent server --- DataObjects/Core_notify_server.php | 19 ++++++++++++++++--- NotifySend.php | 5 +++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/DataObjects/Core_notify_server.php b/DataObjects/Core_notify_server.php index ac044ae9..dd24be1c 100644 --- a/DataObjects/Core_notify_server.php +++ b/DataObjects/Core_notify_server.php @@ -75,7 +75,7 @@ class Pman_Core_DataObjects_Core_notify_server extends DB_DataObject // most services should call this first.. - function getCurrent($notify) + function getCurrent($notify, $force = false) { static $current = false;; @@ -84,13 +84,26 @@ class Pman_Core_DataObjects_Core_notify_server extends DB_DataObject } $ns = DB_DataObject::factory('core_notify_server'); + $ns->poolname = $notify->poolname; $ns->is_active = 1; $ns->hostname = gethostname(); - if (!$ns->count()) { + $ns->limit(1); + if ($ns->find(true)) { + $current = $ns; + return $ns; + } + if (!$force) { + $notify->jerr("Server not found for this server " . gethostname() . " in core_notify_server" ); + } + // fallback to any server - if we are using force. (this is so helo will work...) + + $ns = DB_DataObject::factory('core_notify_server'); + $ns->is_active = 1; + $ns->hostname = gethostname(); + if (!$ns->find(true)) { $notify->jerr("Server not found for this server " . gethostname() . " in core_notify_server" ); } - $ns->find(true); $current = $ns; return $ns; } diff --git a/NotifySend.php b/NotifySend.php index 91bdc7ed..0f3c0871 100644 --- a/NotifySend.php +++ b/NotifySend.php @@ -109,11 +109,12 @@ class Pman_Core_NotifySend extends Pman $this->errorHandler("already sent - repeat to early\n"); } - $this->server = DB_DataObject::Factory('core_notify_server')->getCurrent($this); - if (!$force && $w->server_id != $this->server->id) { + $this->server = DB_DataObject::Factory('core_notify_server')->getCurrent($this, $force); + if (!$force && $w->server_id != $this->server->id) { $this->errorHandler("Server id does not match - use force to try again\n"); } + if (!empty($opts['debug'])) { print_r($w); $ff = HTML_FlexyFramework::get(); -- 2.39.2