IMPORTANT - fixed HubSub to properly fetch primary keys
In commite95f77d34c
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 getKV2a4dc77a63
). NOTE: This complements commit7e4718a4eb
which fixed a similar issue for the Magicsig class.
This commit is contained in:
parent
66997f2bec
commit
0bbcfa7bdf
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user