Page MenuHomeIn-Portal Phabricator

D517.id1328.diff
No OneTemporary

File Metadata

Created
Sat, Jun 28, 7:18 PM

D517.id1328.diff

Index: core/kernel/db/db_event_handler.php
===================================================================
--- core/kernel/db/db_event_handler.php
+++ core/kernel/db/db_event_handler.php
@@ -1744,10 +1744,8 @@
return;
}
- /** @var kTempTablesHandler $temp_handler */
- $temp_handler = $this->Application->recallObject($event->getPrefixSpecial() . '_TempHandler', 'kTempTablesHandler', Array ('parent_event' => $event));
-
- $temp_handler->DeleteItems($event->Prefix, $event->Special, Array ($this->getPassedID($event)));
+ $event->setEventParam('ids', array($this->getPassedID($event)));
+ $this->deleteByEventIDs($event);
}
/**
@@ -1763,9 +1761,30 @@
FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName');
$ids = $this->Conn->GetCol($sql);
+ $event->setEventParam('ids', $ids);
+ $this->deleteByEventIDs($event);
+ }
+
+ /**
+ * Deletes records having IDs from event param 'ids'
+ *
+ * @param kEvent $event Event.
+ *
+ * @return void
+ * @access protected
+ */
+ protected function deleteByEventIDs(kEvent $event)
+ {
+ $this->customProcessing($event, 'before');
+ $ids = $event->getEventParam('ids');
+
if ( $ids ) {
/** @var kTempTablesHandler $temp_handler */
- $temp_handler = $this->Application->recallObject($event->getPrefixSpecial() . '_TempHandler', 'kTempTablesHandler', Array ('parent_event' => $event));
+ $temp_handler = $this->Application->recallObject(
+ $event->getPrefixSpecial() . '_TempHandler',
+ 'kTempTablesHandler',
+ array('parent_event' => $event)
+ );
$temp_handler->DeleteItems($event->Prefix, $event->Special, $ids);
}

Event Timeline