Index: trunk/core/kernel/event_handler.php =================================================================== diff -u -r3212 -r3214 --- trunk/core/kernel/event_handler.php (.../event_handler.php) (revision 3212) +++ trunk/core/kernel/event_handler.php (.../event_handler.php) (revision 3214) @@ -214,9 +214,6 @@ if (!$url_parts) return false; $ret = ''; - - $object =& $event->getObject( Array('skip_autoload' => true) ); - $url_part = array_shift($url_parts); // match module page @@ -236,10 +233,16 @@ } // match item's filename - $object->Load($url_part, 'Filename'); - if( $object->isLoaded() ) + $db =& $this->Application->GetADODBConnection(); + $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); + $table = $this->Application->getUnitOption($event->Prefix, 'TableName'); + $sql = 'SELECT '.$id_field.' + FROM '.$table.' + WHERE Filename = '.$db->qstr($url_part); + $item_id = $db->GetOne($sql); + if($item_id !== false) { - $this->Application->SetVar( $event->getPrefixSpecial().'_id', $object->GetID() ); + $this->Application->SetVar($event->getPrefixSpecial().'_id', $item_id); } }