Index: branches/RC/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r10797 -r10846 --- branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 10797) +++ branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 10846) @@ -104,6 +104,7 @@ 'OnUpdate' => Array('self' => 'edit', 'subitem' => 'add|edit'), 'OnSetPrimary' => Array('self' => 'add|edit', 'subitem' => 'add|edit'), 'OnDelete' => Array('self' => 'delete', 'subitem' => 'add|edit'), + 'OnDeleteAll' => Array('self' => 'delete', 'subitem' => 'add|edit'), 'OnMassDelete' => Array('self' => 'delete', 'subitem' => 'add|edit'), 'OnMassClone' => Array('self' => 'add', 'subitem' => 'add|edit'), @@ -1150,6 +1151,25 @@ } /** + * Deletes all records from table + * + * @param kEvent $event + */ + function OnDeleteAll(&$event) + { + $sql = 'SELECT ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' + FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName'); + $ids = $this->Conn->GetCol($sql); + + if ($ids) { + $temp_handler =& $this->Application->recallObject($event->getPrefixSpecial() . '_TempHandler', 'kTempTablesHandler'); + /* @var $temp_handler kTempTablesHandler */ + + $temp_handler->DeleteItems($event->Prefix, $event->Special, $ids); + } + } + + /** * Prepares new kDBItem object * * @param kEvent $event