Index: trunk/core/units/visits/visits_event_handler.php =================================================================== diff -u -N -r2698 -r2737 --- trunk/core/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2698) +++ trunk/core/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2737) @@ -20,20 +20,8 @@ $this->Application->SetVar('visits_id', $object->GetID() ); } } - /** - * Search - * - * @param kEvent $event - */ - function OnSearch(&$event){ - parent::OnSearch($event); - - - } - - /** * Apply any custom changes to list's sql query * * @param kEvent $event @@ -45,7 +33,8 @@ $object =& $event->getObject(); $types = $event->getEventParam('types'); - if ($types=='myvisitors'){ + if($types == 'myvisitors') + { $user_id = $this->Application->GetVar('u_id'); $object->addFilter('myitems_user1','au.PortalUserId = '.$user_id); @@ -55,16 +44,14 @@ } - if ($types=='myvisitororders' && $event->Special=='incommerce'){ - + if($types == 'myvisitororders' && $event->Special == 'incommerce') + { $user_id = $this->Application->GetVar('u_id'); $object->addFilter('myitems_orders','ord.OrderId IS NOT NULL'); $object->addFilter('myitems_user1','au.PortalUserId = '.$user_id); $object->addFilter('myitems_user2','au.PortalUserId >0'); $object->addFilter('myitems_orders_processed','ord.Status = 4'); - } - } /** @@ -79,12 +66,15 @@ function prepareObject(&$object, &$event) { $types = $event->getEventParam('types'); - if(method_exists($object, 'AddGroupByField')){ - if ( ($types=='myvisitors' || !$types) && $object->Special=='incommerce'){ - $object->addCalculatedField('OrderTotalAmountSum', 'SUM(ord.SubTotal+ord.ShippingCost+ord.VAT)'); - $object->addCalculatedField('OrderAffiliateCommissionSum', 'SUM(ord.AffiliateCommission)'); - $object->addCalculatedField('OrderCountByVisit', 'COUNT(OrderId)'); + if(method_exists($object, 'AddGroupByField')) + { + if( ($types == 'myvisitors' || !$types) && $object->Special == 'incommerce') + { + $object->addCalculatedField('OrderTotalAmountSum', 'SUM(IF(ord.Status = 4, ord.SubTotal+ord.ShippingCost+ord.VAT, 0))'); + $object->addCalculatedField('OrderAffiliateCommissionSum', 'SUM( IF(ord.Status = 4,ord.AffiliateCommission,0))'); + $object->addCalculatedField('OrderCountByVisit', 'COUNT(OrderId)'); } + if (!$types){ $object->AddGroupByField('%1$s.VisitId'); }