Index: branches/unlabeled/unlabeled-1.64.2/core/units/general/cat_event_handler.php =================================================================== diff -u -r5587 -r5590 --- branches/unlabeled/unlabeled-1.64.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 5587) +++ branches/unlabeled/unlabeled-1.64.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 5590) @@ -507,14 +507,20 @@ */ function OnBeforeItemUpdate(&$event) { + $property_map = $this->Application->getUnitOption($event->Prefix, 'ItemPropertyMappings'); + if (!$property_map) { + return; + } + $click_field = $property_map['ClickField']; + $object =& $event->getObject(); - if( $this->Application->IsAdmin() && ($this->Application->GetVar('Hits_original') !== false) && - floor($this->Application->GetVar('Hits_original')) != $object->GetDBField('Hits') ) + if( $this->Application->IsAdmin() && ($this->Application->GetVar($click_field.'_original') !== false) && + floor($this->Application->GetVar($click_field.'_original')) != $object->GetDBField($click_field) ) { - $sql = 'SELECT MAX(Hits) FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - WHERE FLOOR(Hits) = '.$object->GetDBField('Hits'); - $hits = ( $res = $this->Conn->GetOne($sql) ) ? $res + 0.000001 : $object->GetDBField('Hits'); - $object->SetDBField('Hits', $hits); + $sql = 'SELECT MAX('.$click_field.') FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' + WHERE FLOOR('.$click_field.') = '.$object->GetDBField($click_field); + $hits = ( $res = $this->Conn->GetOne($sql) ) ? $res + 0.000001 : $object->GetDBField($click_field); + $object->SetDBField($click_field, $hits); } }