Commit 0bbcfa7b authored by mmn's avatar mmn

IMPORTANT - fixed HubSub to properly fetch primary keys

In commit e95f77d3 HubSub lost the
'staticGet' function in a consolidation into the Managed_DataObject class.
This was done carelessly by me as HubSub::staticGet was actually taking
two arguments, none of which was a key and merging them in HubSub::hashkey()
(staticGet was renamed getKV 2a4dc77a).

NOTE: This complements commit 7e4718a4 which
fixed a similar issue for the Magicsig class.
parent 66997f2b
......@@ -109,7 +109,7 @@ class PushHubAction extends Action
throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
}
$sub = HubSub::getKV($topic, $callback);
$sub = HubSub::getByHashkey($topic, $callback);
if (!$sub) {
// Creating a new one!
$sub = new HubSub();
......@@ -222,6 +222,6 @@ class PushHubAction extends Action
*/
protected function getSub($feed, $callback)
{
return HubSub::getKV($feed, $callback);
return HubSub::getByHashkey($feed, $callback);
}
}
......@@ -45,6 +45,11 @@ class HubSub extends Managed_DataObject
return sha1($topic . '|' . $callback);
}
public static function getByHashkey($topic, $callback)
{
return self::getKV('hashkey', self::hashkey($topic, $callback));
}
public static function schemaDef()
{
return array(
......@@ -158,7 +163,7 @@ class HubSub extends Managed_DataObject
throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
}
$old = HubSub::getKV($this->topic, $this->callback);
$old = HubSub::getByHashkey($this->topic, $this->callback);
if ($mode == 'subscribe') {
if ($old) {
$this->update($old);
......@@ -244,7 +249,7 @@ class HubSub extends Managed_DataObject
// destroy the result data for the parent query.
// @fixme use clone() again when it's safe to copy an
// individual item from a multi-item query again.
$sub = HubSub::getKV($this->topic, $this->callback);
$sub = HubSub::getByHashkey($this->topic, $this->callback);
$data = array('sub' => $sub,
'atom' => $atom,
'retries' => $retries);
......
......@@ -65,7 +65,7 @@ class HubPrepQueueHandler extends QueueHandler
while (count($pushCallbacks) && $n < self::ROLLING_BATCH) {
$n++;
$callback = array_shift($pushCallbacks);
$sub = HubSub::getKV($topic, $callback);
$sub = HubSub::getByHashkey($topic, $callback);
if (!$sub) {
common_log(LOG_ERR, "Skipping PuSH delivery for deleted(?) consumer $callback on $topic");
continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment